Размещение элементов на форме во время выполнения
До выхода 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
В строке З создается новая кнопка, а в строках 5-10 удобная сокращенная запись With используется для задания ряда свойств объекта newButton. Только в строке 11 новая кнопка размещается на форме. Строка 12 снова демонстрирует замечательную гибкость механизма обработки событий .NET: код, содержащийся в строках 14-17, назначается обработчиком события для кнопки. Возможный результат выполнения программы показан на рис. 8.15.
Рис. 8.15. Создание кнопки во время выполнения программы