加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 我如何遍历表单中的所有复选框?

发布时间:2020-12-15 23:37:51 所属栏目:百科 来源:网络整理
导读:我正在开发一个学校应用程序,您可以在其中将游戏添加到列表中,该列表的信息稍后会显示在屏幕上. 在表单中,有8个复选框,每个复选框代表一个控制台.您可以检查游戏可用的控制台. 因此,我希望得到一个包含8个不同值的布尔数组,每个控制台一个. 我相信我的代码不
我正在开发一个学校应用程序,您可以在其中将游戏添加到列表中,该列表的信息稍后会显示在屏幕上.

在表单中,有8个复选框,每个复选框代表一个控制台.您可以检查游戏可用的控制台.

因此,我希望得到一个包含8个不同值的布尔数组,每个控制台一个.

我相信我的代码不紧凑,应该有更好的解决方案.有没有办法可以循环代码而不是为每个复选框编写一些代码?

这是我现在所拥有的.

private void button1_Click(object sender,EventArgs e) 
{
    bool[] platforms = new bool[8] { false,false,false };
    if (checkBox1.Checked) 
    {
        platforms[0] = true;
    }
    if (checkBox2.Checked) 
    {
        platforms[1] = true;
    }
    if (checkBox3.Checked) 
    {
        platforms[2] = true;
    }
    if (checkBox4.Checked)
    {
        platforms[3] = true;
    }
    if (checkBox5.Checked)
    {
        platforms[4] = true;
    }
    if (checkBox6.Checked)
    {
        platforms[5] = true;
    }
    if (checkBox7.Checked)
    {
        platforms[6] = true;
    }
    if (checkBox8.Checked)
    {
        platforms[7] = true;
    }
}

解决方法

假设它是Windows Forms,你可以这样做:

int index = 0;
foreach (Control Con in this.Controls)
{
    if (Con is CheckBox)
        platforms[index++] = ((CheckBox)Con).Checked;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读