如果要查找TabControl或Panel中的控件,Form.Controls将不返回任何内容 [英] Form.Controls returns Nothing if looking for a Control which is in a TabControl or Panel
问题描述
我将项目从vb6转换为vb.net,在其中我通过集合控件找到了位于TabControl内的给定控件,例如
I converted a project from vb6 to vb.net where I found a given control that was inside a TabControl via the collection Controls as such
Frm.Controls("ControlName")
我检查了该控件,并且该控件确实存在
I checked and the control does exist in the form.
我对Controls集合中的所有内容进行了迭代,并且控件不在那里,只有包含它的TabControl。这是否意味着在vb.net中我必须设计一个函数来执行vb6可以做的事情?
I iterated on all that is inside the Controls Collection and the control is not there, only the TabControl which contains it. Does it mean that in vb.net I have to design a function to do something that vb6 could do?
推荐答案
Me.Controls.Find( name,True)
搜索表单及其所有子控件,以查找具有给定名称的控件。结果是包含找到的控件的数组。
You can use Me.Controls.Find("name", True)
to search the form and all its child controlsto find controls with given name. The result is an array containing found controls.
例如:
Dim control = Me.Controls.Find("textbox1", True).FirstOrDefault()
If (control IsNot Nothing) Then
MessageBox.Show(control.Name)
End If
这篇关于如果要查找TabControl或Panel中的控件,Form.Controls将不返回任何内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!