You can for example create a helper class which would notify the child windows that some form has been minimized. For example something like the following.
Helper:
public static class Helper {
public static System.EventHandler SomeoneGotMinimized;
public static void RaiseTheEvent() {
if (SomeoneGotMinimized != null) {
SomeoneGotMinimized(null, new EventArgs());
}
}
}
And in the child forms
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
Helper.SomeoneGotMinimized += new EventHandler(this.HandleMinimization);
}
private void Form1_Resize(object sender, EventArgs e) {
if (this.WindowState == FormWindowState.Minimized) {
Helper.RaiseTheEvent();
}
}
private void HandleMinimization(object sender, EventArgs e) {
if (this.WindowState == FormWindowState.Normal) {
this.WindowState = FormWindowState.Maximized;
}
}
}
That's just a quick sketch so modify it based on your needs.
Note: this sounds like you're trying to emulate the SDI functionality so consider using SDI instead of MDI in your design. MDI is kind of 'abandoned' technique and is replaced by newer design guidelines.