c#开关没有变化

本文关键字:有变化 开关 | 更新日期: 2023-09-27 18:26:26

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

这就是我要做的,我有一个开关。

如果它被选中,它会有一个勾号。如果没有检查,它有一个十字架。

因此,如果有叉,我试图将"可见性"设置为false,如果有勾,则将可见性设置为true。

这是我的密码。

        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;
        }
    }

但出于某种奇怪的原因,这似乎不起作用。

c#开关没有变化

这是你的代码,格式化后你可以更容易地看到发生了什么:

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;

我无法想象如果复选框被选中,你会想直接返回。

这很可能是你想要的。删除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;