C# 计算当前复选框的数量并以c输出该数字#
我试图计算组框中当前选中的“复选框”的数目。我有10个复选框 我一直在尝试一些代码,但如果我勾选了复选框,我只能设法向上计数,而不是相反。因此,它只是相加(而不是每次+1) 那么,我必须采取什么方法来计算当前(不是递增)复选框的数量呢?多谢各位C# 计算当前复选框的数量并以c输出该数字#,c#,checkbox,C#,Checkbox,我试图计算组框中当前选中的“复选框”的数目。我有10个复选框 我一直在尝试一些代码,但如果我勾选了复选框,我只能设法向上计数,而不是相反。因此,它只是相加(而不是每次+1) 那么,我必须采取什么方法来计算当前(不是递增)复选框的数量呢?多谢各位 int checkedBoxes = 0; private void checkBox1_Click(object sender, EventArgs e) { CheckBox check = (CheckBox)sender; bo
int checkedBoxes = 0;
private void checkBox1_Click(object sender, EventArgs e)
{
CheckBox check = (CheckBox)sender;
bool result = check.Checked;
if (result == true)
{
btnDone.Enabled = true;
}
foreach (Control c in grpToppings.Controls)
{
CheckBox cb = c as CheckBox;
if (cb != null && cb.Checked)
{
checkedBoxes += 1;
int how_many = checkedBoxes;
}
}
}
private void btnDone_Click(object sender, EventArgs e)
{
string name = textbox_orderName.Text;
MessageBox.Show("\nhow many: " + checkedBoxes, "It is done",
MessageBoxButtons.OK);
}
当您再次循环所有子控件时,只需在事件中移动
复选框的分配,然后单击复选框1,计数应重置
int checkedBoxes;
private void checkBox1_Click(object sender, EventArgs e)
{
checkedBoxes = 0;
CheckBox check = (CheckBox)sender;
bool result = check.Checked;
if (result == true)
{
btnDone.Enabled = true;
}
foreach (Control c in grpToppings.Controls)
{
CheckBox cb = c as CheckBox;
if (cb != null && cb.Checked)
{
checkedBoxes += 1;
int how_many = checkedBoxes;
}
}
}
请把你的代码格式化得更容易阅读——现在到处都是。如果在IDE(Visual Studio?)中是这样的,您应该能够要求IDE为您格式化它。。。然后复制/粘贴到堆栈溢出中,选择所有代码并按Ctrl-K。下一步:与其在单击方法中计数,为什么不在按下“完成”按钮时计数?不需要字段…简单明了:int how_many=grptopings.Controls.OfType().Count(cb=>cb.Checked)代码>在for循环之前,您没有将计数器复选框重置为0。