【发布时间】:2016-11-22 22:59:21
【问题描述】:
所以我有一个带有随机按钮的鼓机,可以随机填充每个复选框。我不想同时演奏 2 个鼓。共有 16 个节拍,共 5 个鼓。所以我正在考虑使用一个 for 循环来检查列表中的当前值,然后将复选框布尔值设置为 false 值正负 16。
例如:如果选中复选框 1,则复选框 17、33、49 和 65 应为空。同样,如果选中复选框 56,则应取消选中 8、24、40 和 72。每个复选框都应该如此。我不知道该怎么做。
This is my form it will help display my intent
这里是随机填充复选框的代码:
private void randombuttonClick(object sender, EventArgs e)
{
List<CheckBox> Checkboxlist = new List<CheckBox>();
foreach (CheckBox control in this.Controls.OfType<CheckBox>())
{
Checkboxlist.Add(control);
control.Checked = false;
}
for (int i = 0; i <= 50; i++)
{
var r = random.Next(0, Checkboxlist.Count);
var checkbox = Checkboxlist[r];
Checkboxlist[r].Checked = true;
}
}
感谢收看!
【问题讨论】:
-
我想你必须更具体一点,有点不清楚为什么会这样和为什么会这样 ...你正在研究这个项目并将其可视化,无论是在纸上还是通过思想,我们都没有。
-
选中复选框 1 时,您想取消选中 17、33、49 和 56。它们之间的 18、19、20 等和 34、35 等呢?
-
听起来您可能应该使用单选按钮...
-
应该取消选中每个相应列中的其他选择。两者之间的每个值都很好。
标签: c# for-loop checkbox boolean