Как сделать так, чтобы максимизация и нормальное оконное состояние все в одной кнопке
Метод (код) C# кодирование -
int maxornot;
private void MaxButton_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Maximized;
maxornot = 1;
if (WindowState == FormWindowState.Minimized);
{
maxornot = 0;
}
if (maxornot == 0);
{
}
}
если этот метод бессмыслен и есть способ упростить код, оставьте код ниже.
PS Я не особо задумывался о том, как заставить этот метод работать, потому что у меня просто головная боль:P
1 ответ
Из того, что вы уже показали в своем примере кода, вы хотите кнопку для переключения с FormWindowState.Normal
в FormWindowState.Maximized
и другой путь.
Теперь вместо настройки FormWindowState
вашей формы в Maximized в начале вашего клика Даже вы должны сначала проверить текущее состояние вашего окна:
if(this.WindowState == FormWindowState.Maximized)
... do something
FormWindowState имеет 3 различных состояния: Normal
, Minimized
а также Maximized
, В вашем случае вам не нужно Minimized
, Все, что вам нужно сделать сейчас, это переключиться между обычным и максимальным в вашем методе в зависимости от того, что активно в данный момент:
if(this.WindowState == FormWindowState.Maximized)
this.WindowState = FormWindowState.Normal;
else
this.WindowState = FormWindowState.Maximized;
Эти 4 строки кода - все, что вам нужно в методе события click.
Это просто if-else
также может быть преобразован в тройной:
this.WindowState = this.WindowState == FormWindowState.Maximized ? FormWindowState.Normal : FormWindowState.Maximized;