猿问

如何按顺序遍历控件?

一个GroupBox中有20个checkbox,名字为checkbox1、checkbox2、。。。。。、checkbox20。

现在要遍历它们,并判断是否选中,如果选中就是1,未选中是0,最后得到一个字符串sCheck。

例如:

在这20个控件中,选中的是第2和第15个,则sCheck为“01000000000000100000”

 string sresult=null;       

 foreach (Control c in this.groupBox.Controls)
            {
                if (c.GetType().Name == "CheckBox")
                {
                    CheckBox s = (CheckBox)c;
                    if (s.Checked)
                    {
                        sresult = "1"+sresult;
                    }
                    else
                    {
                        sresult = "0"+sresult;
                    }
                }
            }
            sCheck= sresult;

上面的代码得到的顺序不对,怎么改进一下???

慕沐林林
浏览 564回答 2
2回答

白板的微信

可以这么做的,注意的地方 1.记得判断是checkbox的时候应该是用is判断 2.这个顺序一定要弄好,你这个foreach判断的话,不能保证字符串顺序。。。

qq_遁去的一_1

可以给checkbox设置tabindex
随时随地看视频慕课网APP
我要回答