Как сделать так, чтобы максимизация и нормальное оконное состояние все в одной кнопке

Я хочу простой способ максимизации и нормального состояния Windows всего за одну кнопку (нажмите меня для изображения)

Метод (код) 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;
Другие вопросы по тегам