01
22
47
51
为了账号安全,请及时绑定邮箱和手机立即绑定

您好,求问,关于在C#中的checkbox?

您好,求问,关于在C#中的checkbox?

肥皂起泡泡 2021-06-20 22:14:09
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方法的第一个参数为控件名,第二个参数是问要不要在子窗体里找。

查看完整回答
反对 回复 2021-06-26
?
皈依舞

TA贡献1851条经验 获得超3个赞

您要干嘛?“checkbox”+i和“随便写什么”都是string也就是字符
CheckBOx是一个控件,根本不能强制转换。
如果你是要保存每一个CheckBox是否被选中,可以遍历控件
例如:
foreach (Control c in Controls)
{
if (c is CheckBox)
{
V[i] = c.Checked ? 1 : 0;
i++;

}
当然还有其他方法可以实现,这个就要你自己慢慢研究了

}



查看完整回答
反对 回复 2021-06-26

添加回答

代码语言

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号