Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программирование » Программирование мобильных устройств на платформе .NET Compact Framework - Иво Салмре

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 192 193 194 195 196 197 198 199 200 ... 206
Перейти на страницу:

 buttonShowAnswers AdvancedVersion.Left = answerbuttons_beginX

 buttonShowAnswers_SimpleVersion.Left = _

  buttonShowAnswers_AdvancedVersion.Left + _

  answerButtons dx + dx_betweenButtons

 pictureBoxGameBoard.Left = 0

 pictureBoxGameBoard.Width = 240

 pictureBoxGameBoard.Height = 172

 buttonAnswer0.Left = answerbuttons_beginX

 buttonAnswer1.Left = buttonAnswer0.Left + answerButtons_dx + _

  dx_betweenButtons

 buttonAnswer1.Top = buttonAnswer0.Top

 'Следующий ряд

 buttonAnswer2.Left = buttonAnswer0.Left

 buttonAnswer2.Top = buttonAnswer0.Top + answerButtons_dy + _

  dy_betweenButtons

 buttonAnswer3.Left = buttonAnswer2.Left + answerButtons_dx + _

  dx_betweenButtons

 buttonAnswer3.Top = buttonAnswer2.Top

 'Следующий ряд

 buttonAnswer4.Left = buttonAnswer2.Left

 buttonAnswer4.Top = buttonAnswer2.Top + answerButtons_dy + _

  dy_betweenButtons

 buttonAnswer5.Left = buttonAnswer4.Left + answerButtons_dx + _

  dx_betweenButtons

 buttonAnswer5.Top = buttonAnswer4.Top

End Sub

'-----------------------------------------------------------------------

'Вспомогательная функция, которая позволяет задавать состояние видимости

'кнопок, отображающих ответы из словаря

'-----------------------------------------------------------------------

Private Sub SetAnswerButtonVisibility(ByVal visibleState _

 As Boolean)

 buttonAnswer0.Visible = visibleState

 buttonAnswer1.Visible = visibleState

 buttonAnswer2.Visible = visibleState

 buttonAnswer3.Visible = visibleState

 buttonAnswer4.Visible = visibleState

 buttonAnswer5.Visible = visibleState

End Sub

'-----------------------------------------------------------------

'Вспомогательная функция, вызываемая для задания свойств видимости

'некоторых элементов управления

'-----------------------------------------------------------------

Private Sub SetDifficultyButtonVisibility(ByVal visibleState _

 As Boolean)

 buttonShowAnswers_AdvancedVersion.Visible = visibleState

 buttonShowAnswers_SimpleVersion.Visible = visibleState

End Sub

'-----------------------------------------------------------------------

'Вспомогательная функция, которая позволяет задавать состояние видимости

'кнопок, отображающих ответы из словаря

'-----------------------------------------------------------------------

Private Sub SetAnswerButtonEnabled(ByVal enabledState _

 As Boolean)

 buttonAnswer0.Enabled = enabledState

 buttonAnswer1.Enabled = enabledState

 buttonAnswer2.Enabled = enabledState

 buttonAnswer3.Enabled = enabledState

 buttonAnswer4.Enabled = enabledState

 buttonAnswer5.Enabled = enabledState

End Sub

'-----------------------------------------------------------------

'Задает текст в текстовом окне и кнопках,

'необходимых для формулирования вопросов.

'

'В случае практической реализации эта функция должна просматривать

'вопросы динамически

'-----------------------------------------------------------------

Private Sub SetTextForVocabularyQuestion()

 setQuestionText("What is the English word for 'der Mensch'?")

 buttonAnswer0.Text = "Four"

 buttonAnswer1.Text = "Person"

 buttonAnswer2.Text = "Three"

 buttonAnswer3.Text = "To Jump"

 buttonAnswer4.Text = "Newspaper"

 buttonAnswer5.Text = "Brother"

End Sub

'Вызывается для оценки варианта ответа, выбранного пользователем

Private Sub evaluateMultipleChoiceAnswer(ByVal buttonClicked _

 As Button, ByVal selection As Integer)

 'Примечание: В практической реализации правильный номер ответа

 'определяется динамически и не всегда соответствует "кнопке #1"

 'Если выбранный пользователем вариант ответа не является правильным,

 'отменить доступ к нажатой кнопке

 If (selection <> 1) Then

  'Выбранный вариант ответа является неправильным

  buttonClicked.Enabled = False

 Else

  'Пользователь выбрал правильный ответ, продолжить игру

  StateChangeForGameUI(GameUIState.waitForNextQuestion)

 End If

End Sub

'Абстракция, задающая текст вопросов

Sub setQuestionText(ByVal textIn As String)

 textBoxAskQuestion.Text = textIn

End Sub

'----------------------------------------------------------------

'ОБРАБОТЧИК СОБЫТИЙ: Пользователь желает увидеть следующий вопрос

'----------------------------------------------------------------

Private Sub buttonAskQuestion_Click(ByVal sender As Object, _

 ByVal e As System.EventArgs) Handles buttonAskQuestion.Click

 SetTextForVocabularyQuestion()

 StateChangeForGameUI(GameUIState.waitForUserToStateKnowledge)

End Sub

'---------------------------------------------------------------------

'ОБРАБОТЧИК СОБЫТИЙ:

'Пользователь желает ответить на отображенный вопрос и сообщить, какой

'наиболее сложный уровень является для него приемлемым

'---------------------------------------------------------------------

Private Sub buttonShowAnswers AdvancedVersion_Click( _

 ByVal sender As Object, ByVal e As System.EventArgs) _

 Handles buttonShowAnswers_AdvancedVersion.Click

 'Установить состояние игры для отображения вариантов выбора

 StateChangeForGameUI( _

  GameUIState.waitForUserToAnswerMultipleChoice)

End Sub

'---------------------------------------------------------------------

'ОБРАБОТЧИК СОБЫТИЙ:

'Пользователь желает ответить на отображенный вопрос и сообщить, какой

'наиболее легкий уровень является для него приемлемым

'---------------------------------------------------------------------

Private Sub buttonShowAnswers_SimpleVersion_Click( _

 ByVal sender As Object, ByVal e As System.EventArgs) _

 Handles buttonShowAnswers_SimpleVersion.Click

 'Установить состояние игры для отображения вариантов выбора

 StateChangeForGameUI( _

  GameUIState.waitForUserToAnswerMultipleChoice)

End Sub

'ОБРАБОТЧИК СОБЫТИЙ: Был выполнен щелчок на кнопке выбора варианта ответа

Private Sub buttonAnswer0_Click(ByVal sender As Object, ByVal _

 e As System.EventArgs) Handles buttonAnswer0.Click

 evaluateMultipleChoiceAnswer(buttonAnswer0, 0)

End Sub

'ОБРАБОТЧИК СОБЫТИЙ: Был выполнен щелчок на кнопке выбора варианта ответа

Private Sub buttonAnswer1_Click(ByVal sender As Object, ByVal _

 e As System.EventArgs) Handles buttonAnswer1.Click

 evaluateMultipleChoiceAnswer(buttonAnswer1, 1)

End Sub

'ОБРАБОТЧИК СОБЫТИЙ: Был выполнен щелчок на кнопке выбора варианта ответа

Private Sub buttonAnswer2_Click(ByVal sender As Object, ByVal _

 e As System.EventArgs) Handles buttonAnswer2.Click

 evaluateMultipleChoiceAnswer(buttonAnswer2, 2)

End Sub

'ОБРАБОТЧИК СОБЫТИЙ: Был выполнен щелчок на кнопке выбора варианта ответа

Private Sub buttonAnswer3_Click(ByVal sender As Object, ByVal _

 e As System.EventArgs) Handles buttonAnswer3.Click

 evaluateMultipleChoiceAnswer(buttonAnswer3, 3)

End Sub

'ОБРАБОТЧИК СОБЫТИЙ: Был выполнен щелчок на кнопке выбора варианта ответа

Private Sub buttonAnswer4_Click(ByVal sender As Object, ByVal _

 e As System.EventArgs) Handles buttonAnswer4.Click

 evaluateMultipleChoiceAnswer(buttonAnswer4, 4)

End Sub

'ОБРАБОТЧИК СОБЫТИЙ: Был выполнен щелчок на кнопке выбора варианта ответа

Private Sub buttonAnswer5_Click(ByVal sender As Object, ByVal _

 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()

 '----------------------------------------------------

 'Присоединить обработчик к событию щелчка для данного

1 ... 192 193 194 195 196 197 198 199 200 ... 206
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Программирование мобильных устройств на платформе .NET Compact Framework - Иво Салмре.
Комментарии