int[] V = new int[20];for (int i = 1; i <= 5; i++){V[i] = ((CheckBox)("checkBox"+i)).Checked ? 1 : 0;}((CheckBox)("checkBox"+i))这个地方出错:无法将string转化为 system.windows.form.checkbox怎么办啊!高手求助啊!!!!!!
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
((CheckBox)("checkBox"+i))这一行你想要做的应该是找到名称为 "checkBox"+i 的CheckBox控件吧,但是字符串是不可以转为CheckBox的,有个方法可以做到,你可以试下:
Control[] ctls=Controls.Find("checkBox"+i,false);
if (ctls.Length>0)
{
CheckBox chk=(CheckBox)ctls[0];
V[i] = chk.Checked ? 1 : 0;
}
chk就是你想得到的那个CheckBox控件,Find方法的第一个参数为控件名,第二个参数是问要不要在子窗体里找。
皈依舞
TA贡献1851条经验 获得超3个赞
您要干嘛?“checkbox”+i和“随便写什么”都是string也就是字符
CheckBOx是一个控件,根本不能强制转换。
如果你是要保存每一个CheckBox是否被选中,可以遍历控件
例如:
foreach (Control c in Controls)
{
if (c is CheckBox)
{
V[i] = c.Checked ? 1 : 0;
i++;
}
当然还有其他方法可以实现,这个就要你自己慢慢研究了
}
- 2 回答
- 0 关注
- 493 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消