vb.net 传入要查找的控件名称,在哪个控件中查找,一般就是窗体。
Private Function findControl(ByVal control As System.Windows.Forms.Control, ByVal controlName As String) As System.Windows.Forms.Control
Dim t As System.Windows.Forms.Control, t1 As System.Windows.Forms.Control
For Each t In control.Controls
If t.Name = controlName Then
Return t
ElseIf t.Controls.Count > 0 Then
t1 = findControl(t, controlName)
If Not (t1 Is Nothing) Then
Return t1
End If
End If
Next
Return Nothing
End Function
C#
private System.Windows.Forms.Control findControl(System.Windows.Forms.Control control ,string controlName)
{
Control c1;
foreach(Control c in control.Controls)
{
if(c.Name==controlName)
{
return c;
}
else if(c.Controls.Count>0)
{
c1=findControl(c,controlName);
if(c1!=null)
{
return c1;
}
}
}
return null;
}