c#开关不改变

时间:2015-12-12 00:20:10

标签: c#

首先感谢您抽出宝贵时间帮助我。

所以这就是我想要做的事情,我有一个开/关开关。

如果已经检查过它有勾号。 如果没有选中则有十字架。

所以我试图将Visibility设置为false,如果它有一个交叉,并且如果它有一个勾号,则可见性为真。

这是我的代码。

        private void on_off_CheckedChanged(object sender, EventArgs e)
    {
        if (on_off.Checked == true) return;
        {
            groupBox1.Visible = true;
            statistics_text.Visible = true;
        }

        if (on_off.Checked == false) return;
        {
            groupBox1.Visible = false;
            statistics_text.Visible = false;
        }
    }

但由于一些奇怪的原因,这似乎无法奏效。

1 个答案:

答案 0 :(得分:3)

这是您的代码,格式化,以便您可以更轻松地查看正在发生的事情:

if (on_off.Checked == true)
    return;

groupBox1.Visible = true;
statistics_text.Visible = true;

if (on_off.Checked == false)
    return;

groupBox1.Visible = false;
statistics_text.Visible = false;

我无法想象如果选中CheckBox,你只想返回。

这更有可能是你想要的。删除return语句,确保只有一个块或另一个块使用else语句执行。

if (on_off.Checked == true)
{
    groupBox1.Visible = true;
    statistics_text.Visible = true;
}
else
{
    groupBox1.Visible = false;
    statistics_text.Visible = false;
}

更简洁:

groupBox1.Visible = on_off.Checked;
statistics_text.Visible = on_off.Checked;