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

ЖАНРЫ

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

System.Convert.ToString( _

(m_perfSamplesDuration(sampleIndex) / CDbl(1000.0)) ) + " секунд."

End Function

End Class

Листинг 7.2. Тестовая программа, демонстрирующая использование приведенного выше кода для измерения временных интервалов

Private Sub Button1_Click(ByVal senderAs System.Object, _

ByVal e As System.EventArgs) Handles Button1.Click

Const TEST_SAMPE_INDEXAs Integer = 2 'Выбрать любой допустимый индекс

'Начать измерение

PerformanceSampling.StartSample(TEST_SAMPE_INDEX, "TestSample")

'Отобразить окно сообщений

MsgBox("Для прекращения измерения нажмите кнопку OK")

'Прекратить измерение

PerformanceSampling.StopSample(TEST_SAMPE_INDEX)

'Отобразить результаты

MsgBox(PerformanceSampling.GetSampleDurationText( _

TEST_SAMPE_INDEX))

End Sub

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

Поделиться с друзьями: