хорошо, ваш комментарий о "Windowstate может не работать в этом конкретном событии" встревожил меня, поэтому я сделал простой тест:
- Создано Form1 и Form2
- Добавлена кнопка и событие клика в Form1
- Добавлено событие FormClosed для Form2
Button1 Обработчик события клика:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.WindowState = FormWindowState.Normal;
WindowState = FormWindowState.Minimized;
form2.Show(this);//Passing Form1 as owner
form2.Activate();
}
Form2 FormClosed обработчик событий:
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.Owner.WindowState = FormWindowState.Normal;//change state of owner form
}
Результат:
После запуска программы - открывается Form1. После нажатия кнопки - Form1 сворачивается и появляется Form2. После закрытия Form2 - Form1 восстанавливается до нормального состояния.
Резюме:
перепроверьте, действительно ли ваш Form2 ДЕЙСТВИТЕЛЬНО приписан к событию FormClosed или FormClosing.