簡體   English   中英

計算當前復選框的數量並在c#中輸出該數字

[英]Counting number of current checked boxes and output that number in c#

我試圖計算組框中當前選中的“復選框”的數量。 我有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);
}

只需在事件checkBox1_Click移動checkedBoxes的賦值,因為您再次循環遍歷所有子控件並應重置count。

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;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM