Книга: Программирование мобильных устройств на платформе .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
- Листинг 7.1. Пример кода для измерения временных интервалов, который вы можете использовать для хронометрирования работы своих приложений
- Листинг 7.2. Тестовая программа, демонстрирующая использование приведенного выше кода для измерения временных интервалов
- Листинг 7.3. Демонстрация трех различных уровней организации обратной связи с пользователем
- Листинг 7.4. Сравнение производительности двух алгоритмов, в одном из которых используются исключения, а во втором — нет
- Листинг 7.3. Демонстрация трех различных уровней организации обратной связи с пользователем
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Совместимость клиентов и серверов различных версий
- Режим обратной совместимости
- 4.2. Создание трехмерной модели и построение горизонтальной проекции детали
- 4.6. Техники организации знакомства участников на бизнес-тренинге
- Листинг 15.11. Код для загрузки файла с Web-сервера
- 3. Связи и миграция ключей
- Глава 10 Возможности подсистемы хранения данных в различных версиях Windows NT
- Глава 2. Что необходимо для беспроводной связи
- Глава 7 Процесс замыкания обратной связи
- Протоколы модемной связи