我正在尝试计算组框中当前选中的“选中框”的数量。我有 10 个复选框。
我一直在尝试一些代码,但如果我选中了复选框,我只能向上计数,而不是相反。所以它只是加起来(但不是每次+1)。
那么我必须采取什么方法来计算当前(不增加)复选框的数量?谢谢
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);
}
最佳答案
只需在 checkedBoxes
事件中移动 checkBox1_Click
的分配,因为您再次循环所有子控件并且应重置计数。
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;
}
}
}
关于c# - 计算当前选中框的数量并在c#中输出该数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39463051/