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

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

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Иво Салмре, "Программирование мобильных устройств на платформе .NET Compact Framework" бесплатно, без регистрации.
Перейти на страницу:

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


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

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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*