3
我想要計算當前在組框中選中的「選中框」的數量。我有10個複選框。計算當前選中框的數量並在c中輸出該數字
我一直在嘗試一些代碼,但我只設法向上計數,如果我檢查框但不是其他方式。所以它只是加起來(而不是每次+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);
}
請格式化您的代碼更易讀 - 目前這一切都在這個地方。如果在您的IDE(Visual Studio?)中這樣,您應該能夠讓IDE爲您進行格式化......然後複製/粘貼到堆棧溢出,選擇所有代碼並按下Ctrl-K。 –
下一步:而不是在點擊方法計數,爲什麼不只是當「完成」按鈕被按下時計數?無需字段... –
簡而言之:'int how_many = grpToppings.Controls.OfType().Count(cb => cb.Checked);' –