一切都是mdi child form.
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm2 = frm;
ShowForm(frm, delegate(DialogResult result)
{
if (result == DialogResult.OK)
{
MessageBox.Show("Sussessful!");
}
});
}
private void ShowForm(Form form, FormAfterClosed action)
{
DisableControls();
form.MdiParent = this.MdiParent;
form.FormClosed += delegate(object sender, FormClosedEventArgs e)
{
EnableControls();
Form closedForm = sender as Form;
action(closedForm.DialogResult);
};
form.Show();
}
IDictionary<Control, bool> controlStatus = new Dictionary<Control, bool>();
private void DisableControls()
{
foreach (Control c in this.Controls)
{
controlStatus[c] = c.Enabled;
c.Enabled = false;
}
}
private void EnableControls()
{
foreach (Control c in this.Controls)
{
c.Enabled = controlStatus[c];
}
}