Книга: Программирование мобильных устройств на платформе .NET Compact Framework

Листинг 13.2. Динамическое создание элементов управления на форме во время выполнения         

Листинг 13.2. Динамическое создание элементов управления на форме во время выполнения         

'-------------------------------------
'Счетчик количества создаваемых кнопок
'-------------------------------------
Private m_nextNewButtonIndex As Integer
'---------------------------------------------------------------
'ОБРАБОТЧИК СОБЫТИЙ: Обработчик щелчка на кнопке, которая
' имеется на нашей форме.
'
'Эта функция создает новую кнопку, присоединяет ее к нашей форме
'и подключает обработчик события щелчка для нее
'---------------------------------------------------------------
Private Sub buttonCreateNewButtons_Click(ByVal sender As _
 System.Object, ByVal e As System.EventArgs) _
 Handles buttonCreateNewButtons.Click
 'Впоследствии мы начнем создавать новые кнопки, начиная
 'снизу экрана, поэтому ограничиваем их количество восемью
 If (m_nextNewButtonIndex > 8) Then
  Return
 End If
 '----------------------------------------------------
 'Создать кнопку (еще не присоединенную к нашей форме)
 'установить ее местоположение, размеры и текст
 '----------------------------------------------------
 Const newButtonHeight As Integer = 15
 Dim newButton As System.Windows.Forms.Button
 newButton = New System.Windows.Forms.Button
 newButton.Width = 100
 newButton.Height = newButtonHeight
 newButton.Left = 2
 newButton.Top = (newButtonHeight + 2) * m_nextNewButtonIndex
 newButton.Text = "New Button " + _
  m_nextNewButtonIndex.ToString()
 '----------------------------------------------------
 'Присоединить обработчик к событию щелчка для данного
 'элемента управления.
 '----------------------------------------------------
 AddHandler newButton.Click, _
  AddressOf Me.ClickHandlerForButtons
 '---------------------------------------------
 'Присоединить эту кнопку к форме. По существу,
 'это создаст кнопку на форме!
 '---------------------------------------------
 newButton.Parent = Me
 'Увеличить счетчик в соответствии с созданием очередной кнопки
 m_nextNewButtonIndex = m_nextNewButtonIndex + 1
End Sub
'-----------------------------------------------------
'Обработчик событий, который мы динамически подключаем
'к нашим новым кнопкам
'-----------------------------------------------------
Private Sub ClickHandlerForButtons(ByVal sender As Object, _
 ByVal e As System.EventArgs)
 Dim buttonCausingEvent As Button = _
  CType(sender, System.Windows.Forms.Button)
 'Вызвать окно сообщений, извещающее о том,
 'что мы получили событие
 MsgBox("Click event from:" + vbCrLf + buttonCausingEvent.Text)
End Sub

Оглавление книги


Генерация: 4.540. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз