C# 关于遍历控件
我的tabControl1中有多个tabControl控件,而这些控件里面有checkBox控件,我想将checkBox控件取消选择。于是用了以下方法,可是我发现第一个i...
我的tabControl1中有多个tabControl控件,而这些控件里面有checkBox控件,我想将checkBox控件取消选择。
于是用了以下方法,可是我发现第一个if语句的判断是false,能不能帮我看看原因所在。
foreach(Control c in tabControl1.TabPages)
{
if (c is TabControl)
foreach (Control b in ((TabControl)Controls[c.Text]).TabPages)
{
if (b is CheckBox) ((CheckBox)b).Checked = false;
}
} 展开
于是用了以下方法,可是我发现第一个if语句的判断是false,能不能帮我看看原因所在。
foreach(Control c in tabControl1.TabPages)
{
if (c is TabControl)
foreach (Control b in ((TabControl)Controls[c.Text]).TabPages)
{
if (b is CheckBox) ((CheckBox)b).Checked = false;
}
} 展开
2个回答
展开全部
类型的问题
foreach(Control c in tabControl1.TabPages)这个循环的意思是说,遍历tabControl1中所有的TabPages,TabPages是包含在tabControl1里面的,循环进来之后,每次循环,c的类型是TabPage,而不是TabControl。代码修改为:
foreach (Control c in tabControl1.TabPages)
{
if (c is TabPage)
{
foreach (Control b in c.Controls)
{
if (b is CheckBox) ((CheckBox)b).Checked = false;
}
}
}
foreach(Control c in tabControl1.TabPages)这个循环的意思是说,遍历tabControl1中所有的TabPages,TabPages是包含在tabControl1里面的,循环进来之后,每次循环,c的类型是TabPage,而不是TabControl。代码修改为:
foreach (Control c in tabControl1.TabPages)
{
if (c is TabPage)
{
foreach (Control b in c.Controls)
{
if (b is CheckBox) ((CheckBox)b).Checked = false;
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以直接把checkBox这个控制删除吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询