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

您好,求问,关于在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
  • 2 回答
  • 0 关注
  • 493 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信