gpt4 book ai didi

C# WPF 取消选中复选框

转载 作者:行者123 更新时间:2023-11-30 13:45:45 24 4
gpt4 key购买 nike

我使用 MS Visual 2013 Express、C# 和 WPF。

在我的程序中有六个复选框,当其中一个被选中时,其他五个应该被取消选中。

我用谷歌搜索了最后两个小时,但找不到作为 C# 初学者的解决方案。在 Java 中,我只写 checkbox1.setSelected(false);

我在 C# 代码中添加了一个点击事件,一个选中和未选中的事件。我在 .xaml 中添加了 CheckedUnchecked,但我不知道如何让它工作。

希望你能帮助我:)

=======================

我的解决方案:

感谢您的帮助。我用你建议的“IsChecked”尝试了一些随机的东西,幸运的是让它工作了。

.Xaml 看起来像:

            <CheckBox x:Name="CheckBox1" ... Checked="CheckBox1_Checked"  />
<CheckBox x:Name="CheckBox2" ... Checked="CheckBox2_Checked" />
<CheckBox x:Name="CheckBox3" ... Checked="CheckBox3_Checked" />
<CheckBox x:Name="CheckBox4" ... Checked="CheckBox4_Checked" />
<CheckBox x:Name="CheckBox5" ... Checked="CheckBox5_Checked" />
<CheckBox x:Name="CheckBox6" ... Checked="CheckBox6_Checked" />

CheckBox1 的 C# 代码:

    private void CheckBox1_Checked(object sender, RoutedEventArgs e)
{
CheckBox1.IsChecked = true;
CheckBox2.IsChecked = false;
CheckBox3.IsChecked = false;
CheckBox4.IsChecked = false;
CheckBox5.IsChecked = false;
CheckBox6.IsChecked = false;
}

例如对于 CheckBox2:

    private void CheckBox2_Checked(object sender, RoutedEventArgs e)
{
CheckBox2.IsChecked = true;
CheckBox1.IsChecked = false;
CheckBox3.IsChecked = false;
CheckBox4.IsChecked = false;
CheckBox5.IsChecked = false;
CheckBox6.IsChecked = false;
}

所以最后,这是一项非常容易完成的任务。

最佳答案

checkbox1.IsChecked = false;

ToggleButton.IsChecked Property

我正在阅读它作为一个取消选中其他 5 个的特殊内容。
如果你想一次只检查一个,那么 RadioButton 可以做到这一点。
默认情况下,您无法取消选中 RadioButton。
这将允许所有 6 个未选中。

我认为绑定(bind)更好并实现 INotifyPropertyChanged

private Bool cbSecial = false;
private Bool cb1 = false;
private Bool cb2 = false;
public Bool CbSpecial
{
get { return cbSecial; }
set
{
if (value == cbSecial) return;
cbSecial = value;
if (cbSpecial)
{
Cb1 = false;
Cb2 = false;
...
}
NotifyPropertyChanged("CbSpecial");
}
}
public Bool Cb1
{
get { return cb1; }
set
{
if (value == cb1) return;
cb1 = value;
NotifyPropertyChanged("Cb1 ");
}
}

关于C# WPF 取消选中复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26681749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com