原创 C#下遍历CheckBox组件的三种方法

2008-11-5 20:46 6100 6 7 分类: 软件与OS

在这里首先感谢网友Ice_Age


ico.gif Ice_Age


删除评论2008-11-3 22:13:56


foreach (Control c in Controls) { if (c is CheckBox) { ((CheckBox) c).Checked = pdwPortVal & (1 << c.TabIndex)) } } index 也可以放在 Tag 中。


ico.gif Ice_Age


删除评论2008-11-4 21:53:18


你可以把3组checkbox放入groupbox, panel 等container中,checkbox的索引值放入 tabindex或tag中,则程序很简洁。


            //遍历CheckBox方法1
            foreach (Control c in groupBox1.Controls)//遍历groupBox1内的所有控件
            {
                if (c is CheckBox)//只遍历CheckBox控件
                {
                    ((CheckBox)c).Checked = (pdwPortVal & (1 << (checkBox8.TabIndex - c.TabIndex))) != 0;
                }
            }
            //遍历CheckBox方法2
            /*
            for (int i = 8; i >= 1; i--)
            {
                ((CheckBox)this.Controls.Find("checkBox" + i, true)[0]).Checked = (pdwPortVal & (1 << (8 - i))) != 0;
            }
            */
/*
            //遍历CheckBox方法3
            for (int i = 0; i < 8; i++)
            {
                switch (i)
                {
                    case 0:
                        checkBox8.Checked = (pdwPortVal & (1 << i)) != 0;
                        break;
                    case 1:
                        checkBox7.Checked = (pdwPortVal & (1 << i)) != 0;
                        break;
                    case 2:
                        checkBox6.Checked = (pdwPortVal & (1 << i)) != 0;
                        break;
                    case 3:
                        checkBox5.Checked = (pdwPortVal & (1 << i)) != 0;
                        break;
                    case 4:
                        checkBox4.Checked = (pdwPortVal & (1 << i)) != 0;
                        break;
                    case 5:
                        checkBox3.Checked = (pdwPortVal & (1 << i)) != 0;
                        break;
                    case 6:
                        checkBox2.Checked = (pdwPortVal & (1 << i)) != 0;
                        break;
                    case 7:
                        checkBox1.Checked = (pdwPortVal & (1 << i)) != 0;
                        break;
                }
            }
*/

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户222685 2009-5-5 13:57

pdwPortVal 什么意思??
相关推荐阅读
雁塔菜农 2012-04-05 17:51
2012年度新唐Cortex-M0助学开发套件有约束条件赠送申报贴
2012年度新唐Cortex-M0助学套件从4月起每月有约束条件发放16套。 申报人必须是21ic或 EDNC 会员 并具备1月的会龄。 申报时必须注明“遵守约束条件,缴纳250元订金,上...
雁塔菜农 2012-04-05 17:04
2012年度Cortex-M0助学园地推广框图
...
雁塔菜农 2012-04-01 17:59
2012年度Cortex-M0助学园地奖励计划细则
抢楼请点击:菜地公告:即日起创建《菜农Cortex-M0助学园地》(盖楼入口) 每月10号和25号的下午2:50进行2次抢楼,规则同去年12月的疯狂抢楼活动。 奖品由21IC、北航、广州迪圣...
雁塔菜农 2012-02-03 08:19
菜农谋略:搞定牛人宋俊德,对女牛人孙昌旭说:“记住,俺是雁塔菜农~~~ ”
http://www.baidu.com/s?wd=%B2%CB%C5%A9%D0%A6%CC%B8%A1%B6%D0%C2%C0%CB%C3%FB%C8%CB%D0%A7%D3%A6%A1%B7...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条