label2.Text = domainUpDown1.Items[domainUpDown1.SelectedIndex].ToString();
}
Элемент ProgressBar
Элемент управления ProgressBar
Чаще всего разработчик оперирует свойствами Minimum
Maximum
и Value
. Свойства Minimum
и Maximum
задают минимальное и максимальное значения свойства Value
. А свойство Value
определяет текущее значение индикатора.Как правило, данный элемент отображается в момент начала долгой операции, а после ее завершения делается невидимым с помощью метода Hide
Visible
.Для демонстрации работы индикатора прогресса было создано приложение, которое позволит отследить время варки яиц вкрутую. Предположим, что для варки достаточно трех минут. Нужно положить яйца в воду и запустить таймер. По истечении трех минут приложение должно отобразить соответствующее сообщение. Основной код приложения приведен в листинге 3.9.
private void tmrCook_Tick(object sender, EventArgs e) {
if (this.progressBar1.Value < this.progressBar1.Maximum) {
this.progressBar1.Value += 1;
lblCounter.Text = this.progressBar1.Value.ToString();
}
if (this.progressBar1.Value >= this.progressBar1.Maximum) {
tmrCook.Enabled = false;
MessageBox.Show("Яйца сварились!");
this.progressBar1.Value = 0;
lblCounter.Text = "0";
}
}
private void butStart_Click(object sender, EventArgs e) {
tmrCook.Enabled = true;
}
На рис. 3.6 показан внешний вид приложения в момент отсчета времени.
Рис. 3.6
. Индикатор прогресса, позволяющий сварить яйца вкрутуюЭлемент StatusBar
Строка состояния выглядит как небольшая полоска в нижней части приложения, в которой отображается текстовая информация для пользователя. Этот элемент интерфейса реализуется при помощи элемента StatusBar
StatusBar
, достаточно присвоить новое значение свойству Text
. На рис. 3.7 показан внешний вид приложения в тот момент, когда пользователь нажимает на кнопку, а в листинге 3.10 приведен пример кода, который меняет текст в строке состояния.Рис. 3.7
. Пример работы со строкой состоянияprivate void butClickMe_Click(object sender, EventArgs e) {
this.statusBar1.Text = "Вы нажали на кнопку";
}
Строка состояния поддерживает только одну информационную панель, а также не распознает события Click
Элемент TrackBar
Элемент управления TrackBar
Minimum
, Maximum
и Value
. Ползунок может располагаться как вертикально, так и горизонтально. Ориентация ползунка задается при помощи свойства Orientation
. Свойство TickFrequency
регулирует дистанцию между метками шкалы. По умолчанию значение свойства TickFrequency
равно единице.Свойства SmallChange
LargeChange
определяют шаг изменения значения Value
. Свойство SmallChange
задает изменения основного значения, когда пользователь нажимает на одну из кнопок навигации на самом карманном компьютере или на смартфоне.Свойство LargeChange
Value
инициируется событие ValueChanged
.Для иллюстрации работы ползунка нужно создать новый проект и разместить на форме два элемента TrackBar
Рис. 3.8
. Пример работы с ползункамиВ листинге 3.11 приведен код, отвечающий за функциональность ползунков.
private void trackVert_ValueChanged(object sender, EventArgs e) {
this.trackHoriz.Value = this.trackVert.Value;
}
private void trackHoriz_ValueChanged(object sender, EventArgs e) {