VB.net Работа с GroupBox в массиве

Я пишу программу, которая включает несколько групповых блоков и подпрограмму для управления элементами управления в каждом из групповых блоков (например, кнопки добавления, удаления элементов управления) в соответствии с указанными переменными, например, GroupBA, GroupBD.... и т. Д.

Тем не менее, я получил "NullReferenceException", если я не напишу жесткий код, чтобы указать точное имя Groupbox, например Me.GroupBA.Controls.clear() для действия.

Есть ли способ обработать эти групповые блоки в массиве, чтобы избежать повторения кода?

например, ClearAllControls(GroupBA)

Sub ClearAllControls (WorkGP) 

    Me.GroupBA.Controls.Clear() 'The code only works if targeted the "GroupBA"
    Me.Controls(WorkGP).Controls.Clear() 'Resulted Error NullReferenceException
    Me.Controls("GroupBA").Controls.Clear() 'Resulted Error NullReferenceException
End

1 ответ

Я сделал саб для моего собственного.. но я думаю, что он может помочь вам после внесения некоторых изменений..

       Public Sub SetTxtEnterLeave(Parent As Object)


            If Parent.GetType.GetProperty("Controls") Is Nothing Then Exit Sub


            For Each c As Control In Parent.Controls
                If c.GetType.Name = "GroupBox" Then         
                   'add the action here whatever you want to do.....
                End If
            Next

End Sub
Другие вопросы по тегам