日期:2014-05-17 浏览次数:21749 次
foreach (Control y in groupBox1.Controls) { CheckBox ca = (CheckBox)y; ca.Checked = CCharToBool.CharToBool(charPurview[int.Parse(ca.Tag.ToString())]); }
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是第几个。
------解决方案--------------------