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 關注
- 546 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消