winform 中在容器控件里面添加其他控件,获取窗体所以控件的时候会获取不到容器里面的控件?,在线等
比如SplitContainer里面添加panel,在panel上添加button,最后获取窗体所以控件会获取不到button,在线等...
比如SplitContainer 里面添加panel,在panel上添加button,最后获取窗体所以控件会获取不到button
,在线等 展开
,在线等 展开
展开全部
用foreach查找你得指定要查找的范围,或者是使用嵌套的foreach来查找,不是很方便,你可以使用Find,这个比较适合这种多级控件的查找:
Control[] controls=this.Controls.Find("控件名称",true);
此方法的的第一个参数为你要查找的控件名称,第二个参数指定是否包括子控件,应该能够解决你的这个问题,希望对你有帮助,还有疑问请追问或是Hi
Control[] controls=this.Controls.Find("控件名称",true);
此方法的的第一个参数为你要查找的控件名称,第二个参数指定是否包括子控件,应该能够解决你的这个问题,希望对你有帮助,还有疑问请追问或是Hi
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用什么代码获取的?要搞清楚容器的层级关系,一般情况下panel.Controls[]集中中就会找到button控件的
追问
我用 这句代码获取 foreach (Control c in Form.Controls)
追答
Form.Controls 是找到的当前窗体的所有子控件,他只会找到自己的下一级,在这里可以找到SplitContainer,然后SplitContainer 下面找到panel,panel下面才是找到button。
所以你如果从最顶级(Form)找的话,需要嵌套多层循环,最好就是直接遍历button的父容器,比如
panel.button(这里panel必须是你拖放的panel实际控件名称),如果不知道上级父容器的名称,就只有从最顶层去遍历了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询