В моем windows приложении, написанном с C#, я написал форму с именем BaseForm. В этой форме у меня есть кнопка «Развернуть», белый код:
private void btnMaximise_Click(object sender, EventArgs e)
{
WindowState = WindowState == FormWindowState.Normal ?
FormWindowState.Maximized : FormWindowState.Normal;
}
Теперь у меня есть несколько форм, полученных из BaseForm. Когда я нажимаю кнопку «Развернуть» в «Сказать форму 1», все остальные производные формы максимизируются вместе, и когда я снова нажимаю кнопку, они все go возвращаются к своему обычному WindowState, ВМЕСТЕ.
Я не понимаю, почему Это случилось. Я подумал, когда скажу this.WindowState Я указываю на инициируемый объект , но он действует как Stati c. Когда я нажимаю кнопку в форме Form1, я ожидаю, что только Form1 будет развернута, а не все формы с общим наследованием.
В файле Designer.cs обработчик событий связан, как показано ниже:
this.btnMaximise.Click += new System.EventHandler(this.btnMaximise_Click);
Между прочим, все эти формы являются детьми MDI для родительской формы MDI. Возможно, это как-то связано с этой проблемой.
Новый результат теста: я попытался открыть 2 формы с набором родительских элементов MDI и 2 другие без него. Результат странный. Те, которые независимы (без MDI Parent), не конфликтуют, а те, у кого MDI Parent, ведут себя одинаково. Даже когда форма с MDI Parent развернута, и я открываю совершенно новую форму (не с помощью CTRL + TAB, с созданием новой формы, установкой MDI Parent и вызовом метода .Show ()), новая форма открывается с помощью Maximized. состояние.