Vb.net 使用.net 1.1获取一个窗体中使用的所有windows窗体控件的列表

Vb.net 使用.net 1.1获取一个窗体中使用的所有windows窗体控件的列表,vb.net,Vb.net,是否有机会获取windows窗体中的所有控件名称。 我看到有更新的.net版本的选项,但我将此项目限制为1.1:( 我试过的是这个,但在1.1中,一切都很难找到 Public Sub GetAllControlIDs(ByVal c As Windows.Forms.Control, ByVal ids As List(Of String)) ids.Add(c.ID) If c.HasControls() Then For Each ch

是否有机会获取windows窗体中的所有控件名称。 我看到有更新的.net版本的选项,但我将此项目限制为1.1:(

我试过的是这个,但在1.1中,一切都很难找到

Public Sub GetAllControlIDs(ByVal c As Windows.Forms.Control, ByVal ids As List(Of String))
        ids.Add(c.ID)
        If c.HasControls() Then
            For Each ch As Windows.Forms.Control In c.Controls
                GetAllControlIDs(ch, ids)
            Next
        End If
    End Sub

Private allControlIDs As List(Of String) = New List(Of String)()

在.NET 1.1中,没有泛型(.NET 2),因此不能使用
列表(字符串)
,但可以使用
数组列表

Public Sub AddAllControlNames(ByVal c As Windows.Forms.Control, ByVal nameList As ArrayList)
    nameList.Add(c.Name)
    For Each ch As Windows.Forms.Control In c.Controls
        AddAllControlNames(ch, nameList)
    Next
End Sub

Private allControlNames As ArrayList = New ArrayList()

从表单中的某个位置调用(f.e.
Load
):


在.NET 1.1中,没有泛型(.NET 2),因此不能使用
列表(字符串)
,但可以使用
数组列表

Public Sub AddAllControlNames(ByVal c As Windows.Forms.Control, ByVal nameList As ArrayList)
    nameList.Add(c.Name)
    For Each ch As Windows.Forms.Control In c.Controls
        AddAllControlNames(ch, nameList)
    Next
End Sub

Private allControlNames As ArrayList = New ArrayList()

从表单中的某个位置调用(f.e.
Load
):


我在这里得到了一些错误:ByVal id作为(字符串的)列表)。错误是:未定义列表。好吧,这是一个老项目……它必须是1.1,对
GetAllControlIDs
的最高级调用在哪里?@AFriend:不管他是通过
ByVal
还是
ByRef
List(Of T)
是一种引用类型,传递它的
ByVal
仍然传递它的引用指针(类就是这样工作的)。唯一的区别是,如果您传递它
ByRef
,您可以替换原始变量中的引用。错误是:未定义列表。好吧,这是一个老项目……它必须是1.1,对
GetAllControlIDs
的最高级调用在哪里?@AFriend:不管他是通过
ByVal
还是
ByRef
List(Of T)
是一种引用类型,传递它的
ByVal
仍然传递它的引用指针(类就是这样工作的)。唯一的区别是,如果您传递它
ByRef
,您可以替换原始变量中的引用。我在c.ID中得到错误,它说ID不是windows.forms.control的成员。是否有办法获取控件名而不是ID?@СааааМааааааааСаааа。看起来像是网络上的东西。@LarsTech:很好,谢谢。这是一个webforms方法。无论如何都不需要它。我在c.ID中遇到错误,它说ID不是windows.forms.control的成员。是否有办法获取控件名而不是ID?@СааааМааааааааСаааа。看起来像是网络上的东西。@LarsTech:很好,谢谢。这是一个webforms方法。反正也不需要