Ciao,
le 2 form sono cmq 2 oggetti in memoria, quindi o ti tieni in qualche collection, la form quando la crei (ma se poi sono in 2 thread diversi potresti dover gestire anche problemi di accesso a qualche risorsa, come ad esempio un file su disco...) oppure puoi fare in modo che le form si sottoscrivano ad un evento di una terza classe, la quale funga da "Pilota".
Ossia è la classe che scatena l'evento e di conseguenza le 2 form (ma a questo punto anche "n" form, non ti interessa più quante siano...) vengono avvertite dell'evento ed eseguono il loro codice (che appunto è uguale dato che la classe è la stessa, ma hanno solamente una diversa istanza in memoria).
Forse la spiegazione è più complessa di farti un esempio:
class Pilota
{
public static event EventHandler EseguiAdesso;
.....
decidi quando scatenare quell'evento
.....
}
class FormDelProgetto : Form
{
....
public FormDelProgetto()
{
Pilota.EseguiAdesso += (o,e) => {
...fai quello che devi fare...
};
}
}
come vedi la classe Pilota, è quella a cui sono agganciate tutte le istanze della form, quindi se scatena l'evento (magari secondo un timer, oppure arriva da un altro pezzo di codice) le form fanno quello che devono fare.
Qualcosa di questo genere.
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo