将多个组合框组合成一个可搜索的变量

时间:2012-09-22 19:39:24

标签: c#

我正在使用C#制作Windows窗体应用程序。

我的一个表单包含5个组框,每个框包含6个复选框。 我需要计算所有选中的复选框。

目前我的编码如下:

int NumOfRacks1 = groupBoxPace.Controls.OfType<CheckBox>() .Count(cb => cb.Checked);

然而,我必须重复上述5次,然后将所有变量加在一起以获得答案。我确信有一种更聪明的方法可以减少代码。

我尝试将其中三个组合如下:

var allRacks = groupBoxSamsung.Controls.OfType<CheckBox>().Concat(groupBoxPace.Controls.OfType<CheckBox>().Concat(groupBox780.Controls.OfType<CheckBox>()));

但这并没有像预期的那样奏效。

有谁知道实现这个目标的方法?

1 个答案:

答案 0 :(得分:0)

  

我需要计算所有选中的复选框。

不工作,因为你不算数。试试这个。

var items = (groupBox1.Controls.OfType<CheckBox>()
    .Concat(groupBox2.Controls.OfType<CheckBox>()))
    .Where(ch => ch.Checked == true).Count();

你有你的数量。