【问题标题】:ToggleButton checked切换按钮已选中
【发布时间】:2015-05-18 12:29:24
【问题描述】:
我正在 Windows 商店应用程序中使用 Visual Studio 2013。
我有两个切换按钮。
他们像开关一样工作:
我一次只能检查其中一个。
当我检查 1. 切换按钮然后 2. 切换按钮取消选中。
当我选中 2. 切换按钮然后 1. 切换按钮取消选中。
我的问题是当我选中 1.togle 按钮然后再次单击 1.togle 按钮然后它取消选中然后我有两个未选中的切换按钮。
我的问题是:
如何使事件知道,当我单击一个已选中的切换按钮时,在我选中第二个切换按钮之前无法取消选中。我需要为切换按钮或类似的东西禁用 uncheked 事件?
【问题讨论】:
标签:
c#
windows-store-apps
togglebutton
checked
unchecked
【解决方案1】:
类似这样的:
togglebutton1_CheckedChanged(...)
{
if(!togglebutton1.Checked && !togglebutton2.Checked)
togglebutton1.Checked=True;
}
togglebutton2_CheckedChanged(...)
{
if(!togglebutton2.Checked && !togglebutton1.Checked)
togglebutton2.Checked=True;
}
【解决方案2】:
单选按钮可能更适合您的需要,但是..
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;
}
}
}