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