计算当前复选框的数量并在c#中输出该数字

时间:2016-09-13 05:56:07

标签: c# checkbox

我正在尝试计算组框中当前选中的“复选框”的编号。我有10个复选框。

我一直在尝试一些代码,但是如果我选中了这个盒子,我却只能向上计数而不是相反。所以它只是加起来(但不是每次+1)。

那么我需要采取什么方法来计算当前(不递增)复选框的数量?谢谢

{{1}}

1 个答案:

答案 0 :(得分:2)

只需在事件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;
        }
    }
}