ToggleButton检查

时间:2015-05-18 12:29:25

标签: c# windows-store-apps togglebutton checked unchecked

我在Windows商店应用中使用Visual Studio 2013。 我有两个ToggleButtons。 他们像开关一样工作: 我一次只能检查其中一个。 当我检查1. toogle按钮然后2.切换按钮取消选中。 当我检查2.切换按钮然后1.切换按钮取消选中。

我的问题是当我检查1. toogle按钮然后再次点击1. toogle按钮然后取消选中然后我有两个未经检查的切换按钮。

我的问题是: 如何使事件知道,当我点击一个已经选中的切换按钮时,在我检查第二个切换按钮之前无法取消选中。我需要禁用切换按钮或类似的uncheked事件?

2 个答案:

答案 0 :(得分:0)

这样的事情:

togglebutton1_CheckedChanged(...)
{
    if(!togglebutton1.Checked && !togglebutton2.Checked)
        togglebutton1.Checked=True;
}
togglebutton2_CheckedChanged(...)
{
    if(!togglebutton2.Checked && !togglebutton1.Checked)
        togglebutton2.Checked=True;
}

答案 1 :(得分:0)

单选按钮可能会更好地满足您的需求,但是......

    private void Form1_Load(object sender, EventArgs e)
    {
        checkBox1.Appearance = Appearance.Button;
        checkBox2.Appearance = Appearance.Button;
        checkBox1.Checked = true;
        checkBox2.Checked = false;
    }

    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (checkBox1.Checked == true)
        {
            if (checkBox2.Checked == true)
            {
                checkBox2.Checked = false;
            }
        }
        else
        {
            if (checkBox2.Checked != true)
            {
                checkBox2.Checked = true;
            }
        }
    }

    private void checkBox2_CheckedChanged(object sender, EventArgs e)
    {
        if (checkBox2.Checked == true)
        {
            if (checkBox1.Checked == true)
            {
                checkBox1.Checked = false;
            }
        }
        else
        {
            if (checkBox1.Checked != true)
            {
                checkBox1.Checked = true;
            }
        }
    }