C #: формы и операторы if - PullRequest
0 голосов
/ 12 мая 2018

У меня вопрос новичка, который меня беспокоил. Я возился с формами в визуальной студии. В простой программе, которую я делаю, я хочу отключить / включить кнопку в зависимости от того, установлен ли флажок.

Может кто-нибудь сказать мне, почему этот код не работает? В частности, оператор if.

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        Do_Check();
    }

    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        Do_Check();

    }

    private void Do_Check()
    {
        // button1.Enabled = checkBox1.Checked;

        if (checkBox1.Checked)
            button1.Enabled = true;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Blah blah");
    }


}

Я прокомментировал один из способов достижения желаемого результата. Я просто не уверен, почему утверждение if тоже не работает. Любая помощь будет оценена.

1 Ответ

0 голосов
/ 13 мая 2018

Ваша кнопка включена, только если отмечен checkBox1, но никогда не отключаетсяСледовательно, вы должны сделать что-то вроде этого:

if (checkBox1.Checked)
    button1.Enabled = true;
else
    button.Enabled = false;

Однако, ваше закомментированное решение с

button1.Enabled = checkBox1.Checked;

намного элегантнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...