Я использую Visual Studio 2010, C # .NET 4.0. У меня есть 3 формы: Form1, Form2, Form3.
В Form1 у меня есть кнопка, чтобы открыть Form2:
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Show();
}
В Form2 у меня есть личная переменная Form3, всегда указывающая на одну и ту же форму Form3:
private Form3 f = new Form3();
И кнопка, чтобы открыть его в виде диалога:
private void button1_Click(object sender, EventArgs e)
{
f.ShowDialog();
}
В Form3 у меня просто есть кнопка, чтобы скрыть форму:
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
}
Проблема заключается в том, что в ситуации, когда Form2 находится перед Form1, а Form3 перед Form2, когда я нажимаю кнопку Form3, чтобы скрыть ее, она не только скрывается, но и отправляет Form1 позади всех другая Windows.
Это происходит только тогда, когда на заднем плане формы Form1 находится окно другой программы (например, Windows Explorer). Это похоже на ошибку. Что ты думаешь?