读书人

C#中groupBox的CheckBox。初学者有关问

发布时间: 2012-10-19 16:53:36 作者: rapoo

C#中groupBox的CheckBox。。。菜鸟问题

C# code
foreach (Control y in groupBox1.Controls)            {                CheckBox ca = (CheckBox)y;                ca.Checked = CCharToBool.CharToBool(charPurview[int.Parse(ca.Tag.ToString())]);            }


在groupBox1中有N个CheckBox,上面代码中得CheckBox ca = (CheckBox)y; 是神马意思?
还有ca.Tag.ToString()返回的是什么?

另外,如果我在一个groupBox中添加很多歌CheckBox,如20个,怎么知道哪个是第几个?

刚接触Winform的东东,很多不懂。。。。

[解决办法]
你前台添加的那么多个CheckBox的话,每个都有一个唯一标识的ID,就通过这个来区分是哪个。

就像咱中国有这么多人,怎么区分?每个人都有一个身份证的嘛

C# code
foreach (Control c in groupBox1.Controls){      //只遍历CheckBox控件       if (c is CheckBox)      {           if(c.Checked)           {               MessageBox.Show("被选中的CheckBox有:"+c.ID);           }      }}
[解决办法]
CheckBox ca = (CheckBox)y;
这个将Control转换成CheckBox,因为Control是CheckBox的父类,所以要强制转换
Tag属性可以用来存取数据,ca.Tag.ToString()是获取Tag属性的值,Tag属性的类型是Object
[解决办法]
向下转型
[解决办法]
另外,如果我在一个groupBox中添加很多歌CheckBox,如20个,怎么知道哪个是第几个?

这个问题你可以看控件属性里的 Tabindex
[解决办法]
强制转换
[解决办法]
强制转换
[解决办法]
CheckBox ca = (CheckBox)y; 的意思是: 将y强制转化为CheckBox类型对象,赋值于ca。
ca.Tag.ToString(); 返回的是控件ca的tag值。Tag值可读可写。
groupBox中的每一个CheckBox控件都有TabIndex属性,且默认从0开始,可根据此值确定CheckBox是第几个。
[解决办法]
探讨


foreach (Control y in groupBox1.Controls)
{
CheckBox ca = (CheckBox)y;
ca.Checked = CCharToBool.CharToBool(charPurview[int.Parse(ca.Tag.ToString())]);
}



在groupBox1中有N个CheckBox,上面代码中得CheckBox ca = (CheckBox)y; 是神马意思?
还有ca.Tag.ToString()返回的是什么?

另外,如果我在一个groupBox中添加很多歌CheckBox,如20个,怎么知道哪个是第几个?

[解决办法]
探讨
CheckBox ca = (CheckBox)y; 的意思是: 将y强制转化为CheckBox类型对象,赋值于ca。
ca.Tag.ToString(); 返回的是控件ca的tag值。Tag值可读可写。
groupBox中的每一个CheckBox控件都有TabIndex属性,且默认从0开始,可根据此值确定CheckBox是第几个。

读书人网 >C#

热点推荐