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

Листинг 7.3. Демонстрация трех различных уровней организации обратной связи с пользователем

Листинг 7.3. Демонстрация трех различных уровней организации обратной связи с пользователем

'Поместить надписи на кнопках
Private Sub Form2_Load(ByVal senderAs System.Object, _
 ByVal e As System.EventArgs) Handles MyBase.Load
 button1.Text = "Плохая обратная связь"
 button2.Text = "Хорошая обратная связь"
 button3.Text = "Улучшенная обратная связь"
End Sub
'---------------------------------------------------------------------------
'Пример слабых интерактивных возможностей интерфейса:
' - Визуальная индикация начала выполнения работы отсутствует
' - Визуальная индикация окончания выполнения работы отсутствует
' - Пользовательский интерфейс не способен к отклику в процессе работы
' - 0 завершении выполнения задачи пользователь вынужден только догадываться
'---------------------------------------------------------------------------
Private Sub Button1_Click(ByVal senderAs System.Object, _
 ByVal eAs System.EventArgs) Handles Button1.Click
 'Имитировать выполнение работы путем создания паузы продолжительностью
 '4 секунды
 System.Threading.Thread.Sleep(4000)
End Sub
'------------------------------------------------------------------------
'Пример лучших интерактивных возможностей интерфейса:
' + Визуальная индикация начала выполнения работы
' (появление курсора ожидания)
' + Визуальная индикация окончания выполнения работы
' (исчезновение курсора ожидания)
' - Пользовательский интерфейс не способен к отклику в процессе работы
' + По завершении выполнения задачи конечный пользователь узнает об этом,
' а пользовательский интерфейс восстанавливает способность к отклику
'------------------------------------------------------------------------
Private Sub Button2_Click(ByVal senderAs System.Object, _
 ByVal eAs System.EventArgs) Handles Button2.Click
 System.Windows.Forms.Cursor.Current = _
  System.Windows.Forms.Cursors.WaitCursor
 'Имитировать выполнение работы путем создания паузы продолжительностью
 '4 секунды
 System.Threading.Thread.Sleep(4000)
 System.Windows.Forms.Cursor.Current = _
  System.Windows.Forms.Cursors.Default
End Sub
'-------------------------------------------------------------------------
'Пример еще лучших интерактивных возможностей интерфейса:
' + Визуальная индикация начала выполнения работы
' (появление курсора ожидания)
' + Отображение дополнительного текста, сообщающего пользователю
' о том, что происходит
' + Визуальная индикация окончания выполнения работы
' (исчезновение курсора ожидания)
' - Пользовательский интерфейс не способен к отклику в процессе работы
' + По завершении выполнения задачи конечный пользователь узнает об этом,
' а пользовательский интерфейс восстанавливает способность к отклику
' + Текстовые сообщения информируют пользователя о том, что происходит
'-------------------------------------------------------------------------
Private Sub Button3_Click(ByVal senderAs System.Object, _
 ByVal e As System.EventArgs) Handles Button3.Click
 'Предоставить пользователю текст, информирующий его обо всем происходящем
 Label1.Text = "Ждите! Работа выполняется!"
 'Заставить ПИ обновить текст
 '(иначе он сделает это только тогда, когда будет перерисовывать сообщение,
 'а это может произойти и после выхода из данной функции)
 Label1.Update()
 'Отобразить курсор ожидания
 System.Windows.Forms.Cursor.Current = _
  System.Windows.Forms.Cursors WaitCursor
 'Имитировать выполнение работы путем создания паузы продолжительностью
 '2,8 секунды
 System.Threading.Thread.Sleep(2800)
 'Необязательное дополнительное обновление состояния
 Label1.Text = "Ждите! Работа близка к завершению!"
 Label1.Update()
 'Имитировать выполнение работы путем создания паузы продолжительностью
 '1,2 секунды
 System.Threading.Thread.Sleep(1200)
 'Известить пользователя текстовым сообщением о завершении работы
 '(текст обновляется всякий раз, когда ПИ выполняет обычное обновление
 'экрана)
 Label1.Text = "Работа успешно завершена!"
 'Избавиться от курсора ожидания
 System.Windows.Forms.Cursor.Current = _
  System.Windows.Forms.Cursors.Default
End Sub

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


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