Я сталкиваюсь со странным поведением с формами в приложении c # 3.5. При нажатии кнопки моя форма 1 скрывается, создает новую форму 2 и показывает форму 2. Form1 также содержит метод события, запускаемый при закрытии form2. Вот код внутри Form1:
Form2 form2;
void button1_Click(object sender, EventArgs e)
{
this.Hide();
form2 = new form2();
form2.Show();
form2.FormClosed += new FormClosedEventHandler(form2_FormClosed);
}
void form2_FormClosed(object sender, FormClosedEventArgs e)
{
form2.Dispose();
form2 = null;
this.Show();
}
Теперь моя проблема в том, что иногда, когда я открываю form2 (скрывая form1), или когда я закрываю form2 (показывая form1), новая форма появляется на экране на мгновение и затем прячется. Он все еще открыт, и я могу щелкнуть его на панели задач, чтобы снова показать его, но само окно отправляется за любыми другими открытыми окнами. Похоже, что он открывается, но минимизируется мгновенно.
Такое поведение происходит случайно. Иногда формы открываются и прячутся без проблем, но иногда они теряют фокус на другом окне. Я пытался использовать focus (), activ () и topmost, но все они не смогли предотвратить внезапное скрытие.
Кто-нибудь знает, почему это происходит и как это исправить?
Спасибо.