如何查看表单上DataGridViews
的号码,然后在VB.NET
中显示其姓名?
我试过这个:
For Each dgv As DataGridView In Me.Controls
MsgBox(dgv.Name)
Next
但我的猜测Me.Controls
除了DataGridView
之外还包含其他所有表单控件?
答案 0 :(得分:1)
For Each _control In Me.Controls
If TypeOf _control Is DataGridView Then
MsgBox(_control.Name)
End If
Next
答案 1 :(得分:1)
我知道这个问题是很久以前发布的。在@AadityaDengle发布的答案中,您将获得DataGridView
控件放置在表单中,但是,如果DataGridView
嵌套在其他控件中(例如Panel
,TableLayoutPanel
,{{ 1}},...)找不到它。
您必须使用“递归搜索”方式在所有控件中进行搜索。下面是示例:
GroupBox
答案 2 :(得分:0)
即使@AadityaDengle和@nelek的答案都正确,我仍将代码保留在这里,因为我认为它的结构性更高。
请注意,无论您将
DataGridView
放在Panel
还是GroupBox
内,此代码都可以使用。
'Loop throught all DataGridViews in your Form
Private Sub FormDGV(ByVal Controlo As Control)
If Controlo.HasChildren Then
If TypeOf Controlo Is DataGridView Then
MessageBox.Show(Controlo.Name)
End If
For Each Control As Control In Controlo.Controls
FormDGV(Control)
Next
End If
End Sub´
如果您的DataGridViews
嵌套在Panel
或类似的内容中,则需要通过这样的参数发送特定的Panel
-
FormDGV(YourPanel)
但是,如果不是这样,则只需发送表格itselt。