Книга: Программирование мобильных устройств на платформе .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
- Листинг 13.1. Использование конечного автомата для экспериментов с двумя различными вариантами компоновки пользовательского интерфейса
- Листинг 13.2. Динамическое создание элементов управления на форме во время выполнения
- Листинг 13.3. Фильтрующее текстовое окно, принимающее текст в формате ###-##-####
- Листинг 13.4. Код формы для создания пользовательского элемента управления TextBox
- Листинг 13.5. код формы, демонстрирующий использование прозрачности '
- Листинг 13.6. Код формы, демонстрирующий загрузку встроенных ресурсов
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Основные "рычаги" управления производительностью
- Создание файлов с блокировкой
- Категорийный менеджмент. Курс управления ассортиментом в рознице
- Создание свободно позиционируемых элементов
- Улучшенное время отклика для версии SuperServer
- Часы в Windows показывают неправильное время
- 12. Лекция: Создание приложений с графическим интерфейсом пользователя.
- Создание объектов Collection
- 7.4.2.4. Создание своего первого LiveCD
- 4.2. Создание трехмерной модели и построение горизонтальной проекции детали
- 7.4.2. Создание собственного LiveCD