Buenas, te paso un ejemplo, en este utilizo una clase solo para el evento:
El formulario principal:Código: C#
public partial class Form1 : Form { public Form1() { InitializeComponent(); } //el boton abre nuevas ventanas private void button1_Click(object sender, EventArgs e) { formulario.Show(); } //este las cierra todas private void CerrarVentanas_Click(object sender, EventArgs e) { ClaseEvento.LanzarEvento(); } }
El/los formulario/s secundario/s:Código: C#
public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { } private void Form2_FormClosing(object sender, FormClosingEventArgs e) { } void ClaseEvento_El_evento() { this.Close(); }
La clase con el evento:Código: C#
class ClaseEvento { public delegate void Delegado(); public static event Delegado El_evento; public static void LanzarEvento() { if (El_evento != null) El_evento(); } }
Como ves es muy sencillo, cualquier duda pregunta. Un saludo