winform 中在容器控件里面添加其他控件,获取窗体所以控件的时候会获取不到容器里面的控件?,在线等

比如SplitContainer里面添加panel,在panel上添加button,最后获取窗体所以控件会获取不到button,在线等... 比如SplitContainer 里面添加panel,在panel上添加button,最后获取窗体所以控件会获取不到button
,在线等
展开
 我来答
zhouxiang_1216
2013-11-28 · TA获得超过2591个赞
知道大有可为答主
回答量:1286
采纳率:33%
帮助的人:1376万
展开全部
用foreach查找你得指定要查找的范围,或者是使用嵌套的foreach来查找,不是很方便,你可以使用Find,这个比较适合这种多级控件的查找:
Control[] controls=this.Controls.Find("控件名称",true);
此方法的的第一个参数为你要查找的控件名称,第二个参数指定是否包括子控件,应该能够解决你的这个问题,希望对你有帮助,还有疑问请追问或是Hi
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友02cd4ce
2013-11-28 · TA获得超过516个赞
知道小有建树答主
回答量:709
采纳率:0%
帮助的人:718万
展开全部
你用什么代码获取的?要搞清楚容器的层级关系,一般情况下panel.Controls[]集中中就会找到button控件的
追问
我用 这句代码获取 foreach (Control c in Form.Controls)
追答
Form.Controls 是找到的当前窗体的所有子控件,他只会找到自己的下一级,在这里可以找到SplitContainer,然后SplitContainer 下面找到panel,panel下面才是找到button。

所以你如果从最顶级(Form)找的话,需要嵌套多层循环,最好就是直接遍历button的父容器,比如
panel.button(这里panel必须是你拖放的panel实际控件名称),如果不知道上级父容器的名称,就只有从最顶层去遍历了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式