Размещение элементов на форме во время выполнения
До выхода VB6 существовал лишь один способ размещения элементов на форме во время выполнения программы – массивы элементов. В VB6 появился более удобный режим динамического добавления элементов, но и в этом случае не обходилось без проблем с обработкой событий для добавленных элементов. В VB.NET этот процесс подвергся существенным изменениям.
Например, создайте новое приложение Windows и включите в него следующий фрагмент:
1 Private Sub Forml_Load(ByVal sender As System.Object,ByVal e As _ 2 System.EventArgs) Handles MyBase.Load 3 Dim newButton As New System.Windows.Forms.Button() 4 ' Задать свойства newButton 5 With newButton 6. Visible =True 7. Size =New Size(l00.l00) 8 '.Text ="I'm a new button" 9 ' Обычно здесь задаются и другие свойства 10 End With 11 Me.Controls.Add(newButton) 12 AddHandler newButton.Click.AddressOf Me.newButton_Click 13 End Sub 14 Public Sub newButton_Click(ByVal sender As _ 15 System.Object.ByVal e As System.EventArgs) 16 MsgBox("You clicked on my new button") 17 End Sub
В строке 3 создается новая кнопка, а в строках 5-10 удобная сокращенная запись With используется для задания ряда свойств объекта newButton. Только в строке 11 новая кнопка размещается на форме. Строка 12 снова демонстрирует замечательную гибкость механизма обработки событий .NET: код, содержащийся в строках 14-17, назначается обработчиком события для кнопки.
Возможный результат выполнения программы показан на рис. 8.15.
Рис. 8.15. Создание кнопки во время выполнения программы