Ciao,
se non ho capito male a te basta solo capire quale form Child è attiva in quel momento, perchè il resto del codice ce l'hai disponibile.
Io ti consiglio di farti un'interfaccia, o cmq una form base da cui tutte le form figlie ereditano, in modo da poter invocare un metodo "Salva" anche senza sapere di che form si tratta, ma la form essendo appunto una che implementa quell'Interfaccia (o che eredita da una form base) puoi invocarlo dinamicamente.
Il codice io lo farei di questo tipo, partendo dal definire un'interfaccia:
public interface IMiaForm
{
void Salva();
....
}
e nella form ti basta dirgli che oltre ad ereditare da Form, implementa anche "IMiaForm" e scrivere il relativo codice per il salva:
public partial class FormVario : Form, IMiaForm
{
....
public void Salva()
{
....
}
...
e quindi da qualsiasi parte dell'applicativo puoi recuperare la Form attiva, "castarla" in IMiaForm e quindi invocare il metodo che l'interfaccia rende obbligatorio:
...
IMiaForm f = MdiParent.ActiveMdiChild as IMiaForm;
f.Salva();
L'esempio ha dato un solo metodo sull'interfaccia, ma tu ovviamente puoi fare tutti quelli che vuoi...
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo