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

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

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

//Поместить надписи на кнопках
private void Form1_Load(object sender, System.EventArgs e) {
 button1.Text = "Плохая обратная связь";
 button2.Text = "Хорошая обратная связь";
 button3.Text = "Улучшенная обратная связь";
}
//----------------------------------------
//Пример слабых интерактивных возможностей интерфейса:
// - Визуальная индикация начала выполнения работы отсутствует
// - Визуальная индикация окончания выполнения работы отсутствует
// - Пользовательский интерфейс не способен к отклику во время работы
// - 0 завершении выполнения задачи пользователь вынужден только догадываться
//----------------------------------------
private void button1_Click(object sender, System.EventArgs e) {
 //Имитировать выполнение работы путем создания паузы
 //продолжительностью 4 секунды
 System.Threading.Thread.Sleep(4000);
}
//----------------------------------------
//Пример лучших интерактивных возможностей интерфейса:
// + Визуальная индикация начала выполнения работы
// (появление курсора ожидания)
// + Визуальная индикация окончания выполнения работы
// (исчезновение курсора ожидания)
// - Пользовательский интерфейс не способен к отклику во время работы
// + По завершении выполнения задачи конечный пользователь узнает об этом,
// а пользовательский интерфейс восстанавливает способность к отклику
//----------------------------------------
private void button2_Click(object sender, System.EventArgs e) {
 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;
}
//----------------------------------------
//Пример еще лучших интерактивных возможностей интерфейса:
// + Визуальная индикация начала выполнения работы // (появление курсора ожидания)
// + Отображение дополнительного текста, сообщающего пользователю // о том, что происходит
// + Визуальная индикация окончания выполнения работы // (исчезновение курсора ожидания)
// - Пользовательский интерфейс не способен к отклику в процессе работы
// + По завершении выполнения задачи конечный пользователь узнает об этом,
// а пользовательский интерфейс восстанавливает способность к отклику
// + Текстовые сообщения информируют пользователя о том, что происходит
//----------------------------------------
private void button3_Click(object sender, System.EventArgs e) {
 //Предоставить пользователю текст, информирующий его обо всем происходящем
 label1.Text = "Ждите! Работа выполняется!";
 //Заставить интерфейс обновить текст
 //(иначе он сделает это только тогда, когда будет перерисовывать сообщение,
 //a это может произойти и после выхода из данной функции)
 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;
}

Разумеется, лучше всего, если пользовательский интерес никогда не теряет способности к отклику, однако для сравнительно коротких периодов задержки или случаев, когда работа должна выполняться в синхронном режиме, существует много косметических приемов, которые обеспечивают создание для пользователей комфортных условий работы с приложением и сводят влияние раздражающих факторов к минимуму.

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


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