4个回答
展开全部
checkbox没办法只通过设置来实现你要的功能,不过你可以通过代码实现:
xaml:
<StackPanel>
<CheckBox Name="chk" Click="chk_Click"/>
<CheckBox Name="chk2" Click="chk_Click"/>
<CheckBox Name="chk3" Click="chk_Click"/>
</StackPanel>
后台代码:
private void chk_Click(object sender, RoutedEventArgs e)
{
var checkBoxes = new[] { chk, chk2, chk3};
var current = (CheckBox)sender;
foreach (var checkBox in checkBoxes)
{
if (checkBox != current)
{
checkBox.IsChecked = !current.IsChecked;
}
}
}
当然, 你还可以看RadioButton能不能达到你的要求,因为RadioButton可以通过设置GroupName来实现分组的目的。
xaml:
<StackPanel>
<CheckBox Name="chk" Click="chk_Click"/>
<CheckBox Name="chk2" Click="chk_Click"/>
<CheckBox Name="chk3" Click="chk_Click"/>
</StackPanel>
后台代码:
private void chk_Click(object sender, RoutedEventArgs e)
{
var checkBoxes = new[] { chk, chk2, chk3};
var current = (CheckBox)sender;
foreach (var checkBox in checkBoxes)
{
if (checkBox != current)
{
checkBox.IsChecked = !current.IsChecked;
}
}
}
当然, 你还可以看RadioButton能不能达到你的要求,因为RadioButton可以通过设置GroupName来实现分组的目的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
chk_1.Enabled = !chk_2.Checked;
两个checkbox时,我是这么写的,供参考
两个checkbox时,我是这么写的,供参考
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
三个checkbox的checkedchanged事件分别与以下代码绑定
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
checkBox2.Checked = false;
checkBox3.Checked = false;
}
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (checkBox2.Checked)
{
checkBox1.Checked = false;
checkBox3.Checked = false;
}
}
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
if (checkBox3.Checked)
{
checkBox1.Checked = false;
checkBox2.Checked = false;
}
}
如果checkbox数量多就要考虑用循环,遍历。现在这个方法在只有三个checkbox的情况下还是很好用的。
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
checkBox2.Checked = false;
checkBox3.Checked = false;
}
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (checkBox2.Checked)
{
checkBox1.Checked = false;
checkBox3.Checked = false;
}
}
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
if (checkBox3.Checked)
{
checkBox1.Checked = false;
checkBox2.Checked = false;
}
}
如果checkbox数量多就要考虑用循环,遍历。现在这个方法在只有三个checkbox的情况下还是很好用的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不知道你要做什么 没搞清楚,先关注
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询