我是C#的新手,我似乎无法找到一个很好的解决方案来解决我认为是一个简单的问题。
基本上我正在尝试确定用户选择了哪些CheckBox,然后随机生成用户所做选择的组合。和我一样新,我知道你可以使用一个简单的陈述,如:
checkBox1.IsChecked == true
我可以使用一长串if语句来更新数组/集合,但我告诉我在C#中有一种方法可以通过查询CheckBox所在的GroupBox来确定检查哪些CheckBox。除非我'我错了(这是非常可能的)这是通过使用控制功能实现的,不幸的是我还没有在我的学习中遇到过这些,所以如果有人能够清理那些会很棒的事情。
总而言之,如果某人有一个简单的解决方案来运行一组复选框并仅存储选定的复选框,我将非常感激。
答案 0 :(得分:0)
控件具有Children集合,您可以检查组框的子控件(或者,递归检查所有控件的子控件集合)以获取复选框。要存储选择哪些集合,您需要管理其他集合(数组,列表等)并存储对已检查选项有意义的内容(如显示文本,基础值等)。
答案 1 :(得分:0)
您可以遍历包含复选框的父控件(例如组框)中的子控件:
foreach (Control c in groupBox1.Controls)
{
CheckBox checkbox = c as CheckBox;
if (checkbox != null)
{
if (checkbox.Checked)
{
//do something
}
}
}
答案 2 :(得分:0)
checkedListBox1.Items.Add("wtf", true);
checkedListBox1.Items.Add("wtf", true);
checkedListBox1.CheckedIndices
这应该可以解决问题。