VB.net Работа с GroupBox в массиве - PullRequest
0 голосов
/ 23 июня 2018

Я пишу программу, которая включает несколько групповых блоков и подпрограмму для управления элементами управления в каждом из групповых блоков (например, добавить кнопки, удалить элементы управления) в соответствии с указанными переменными, например, 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 Ответ

0 голосов
/ 23 июня 2018

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

       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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...