Чтение онлайн

на главную - закладки

Жанры

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

Салмре Иво

Шрифт:

Рис. 7.1. Пример приложения, иллюстрирующего различные варианты организации обратной связи с пользователем

 Листинг 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;

}

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

Поделиться:
Популярные книги

Пески времени

Шелдон Сидни
Детективы:
триллеры
9.02
рейтинг книги
Пески времени

Родословная. Том 5

Ткачев Андрей Юрьевич
5. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Родословная. Том 5

Я все еще князь. Книга XXI

Дрейк Сириус
21. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я все еще князь. Книга XXI

Кодекс Крови. Книга IХ

Борзых М.
9. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга IХ

Гром Раскатного. Том 1

Володин Григорий Григорьевич
1. Штормовой Предел
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Гром Раскатного. Том 1

Кодекс Императора VI

Сапфир Олег
6. Кодекс Императора
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Императора VI

Бастард Императора. Том 9

Орлов Андрей Юрьевич
9. Бастард Императора
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Бастард Императора. Том 9

Поход

Валериев Игорь
4. Ермак
Фантастика:
боевая фантастика
альтернативная история
6.25
рейтинг книги
Поход

Темный Лекарь 9

Токсик Саша
9. Темный Лекарь
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Темный Лекарь 9

История Шотландии с древнейших времен до флодденского сражения 1513 года.

Скотт Вальтер
Научно-образовательная:
история
5.00
рейтинг книги
История Шотландии с древнейших времен до флодденского сражения 1513 года.

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII

И в аду есть герои

Панов Вадим Юрьевич
5. Тайный Город
Фантастика:
боевая фантастика
9.19
рейтинг книги
И в аду есть герои

Наномашины, наследник! Том 9

Новиков Николай Васильевич
9. Первый среди карапузов
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Наномашины, наследник! Том 9

Неучтенный элемент. Том 12

NikL
12. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 12