Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
e As System.EventArgs) Handles buttonAnswer5.Click
evaluateMultipleChoiceAnswer(buttonAnswer5, 5)
End Sub
Листинг 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.3. Фильтрующее текстовое окно, принимающее текст в формате ###-##-####
Option Strict On
Imports System
'----------------------------------------------------------------------------
'Этот класс является элементом управления, производным от элемента управления
'TextBox.
'Он наследует все графические свойства TextBox, но добавляет фильтрацию
'содержимого текстового окна, тем самым гарантируя,
'что вводимый текст будет соответствовать формату:
'###-##-####.
'Этот формат соответствует формату номеров карточек социального страхования,
'используемых в США.
'-----------------------------------------------------------------------------
Public Class SocialSecurityTextBox
Inherits System.Windows.Forms.TextBox
Private m_inputIsFullValidEntry As Boolean
'------------------------------------------------
'Указывает, получен ли
'номер карточки социального страхования полностью
'------------------------------------------------
Public ReadOnly Property IsFullValidInput As Boolean
Get
Return m_inputIsFullValidEntry
End Get
End Property
'Объект StringBuilder, которую мы будем часто использовать
Private m_sb As System.Text.StringBuilder
'Максимальная длина обрабатываемых строк
Const SSNumberLength As Integer = 11
'-----------
Поделиться с друзьями: