首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Forms.Panel上的VB.Net Form DirectCast

Forms.Panel上的VB.Net Form DirectCast
EN

Stack Overflow用户
提问于 2013-05-10 05:14:58
回答 1查看 1.3K关注 0票数 1

我需要遍历窗体的文本框,这些文本框位于面板内。我正试着这样做……

代码语言:javascript
复制
For Each Cntrl As Control In DirectCast(Me.Controls(PanelName), Panel).Controls

next

我需要将面板的名称提供给循环的原因是因为我有两个存在于两个不同TabPages中的面板。每个TabPage上都有一个执行相同功能的按钮,但面板和文本框具有不同的名称。我在一个处理两个TabPage按钮点击的函数中有一个循环,因此我需要这个循环指向右边的面板。

"PanelName“与目标面板的名称相匹配,并且面板的名称为System.Windows.Form.Panel。

我得到"Object reference not set to a instance of an object“。消息。

这是不可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-10 05:21:38

不需要强制转换:

代码语言:javascript
复制
For Each Cntrl As Control In PanelName.Controls

Next

如果您所拥有的只是面板的名称,而不是控件引用,那么您至少需要知道哪个TabPage拥有该面板:

代码语言:javascript
复制
For Each ctrl As Control In TabControl1.TabPages(1).Controls("panel1").Controls

Next

或者,您可以使用:

代码语言:javascript
复制
Me.Controls.Find(PanelName, True)

在递归搜索子控件时按名称返回面板。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16471247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档