110,538
社区成员
发帖
与我相关
我的任务
分享
private void setRadio(string strtxt,string radioname){
Panel oc = (Panel)Controls[radioname];
foreach (Control ctrl in oc.Controls){
if (ctrl is RadioButton) {
RadioButton rb = ctrl as RadioButton;
if (rb.Text == strtxt){
rb.Checked = true;
break;
}
}
}
}
private void setRadio(string strtxt,Panel p){
foreach (Control ctrl in p.Controls){
if (ctrl is RadioButton) {
RadioButton rb = ctrl as RadioButton;
if (rb.Text == strtxt){
rb.Checked = true;
break;
}
}
}
}
Panel oc = (Panel)Controls[radioname];
应该是这行代码出了问题?
Controls[radioname] 可能不是 panel, 转换的结果是 null
Panel oc = Controls[radioname] as Panel;
if(oc!=null)
{
//...
}
private void setRadio(string strtxt,string radioname){
Panel oc = (Panel)Controls[radioname];
foreach (Control ctrl in oc.Controls){
if (ctrl is RadioButton) {
if (((RadioButton)ctrl).Text == strtxt){
((RadioButton)ctrl).Checked = true;
break;
}
}
}
}