TrackBar представляет собой элемент, который с помощью перемещения ползунка позволяет вводить числовые значения.
Некоторые важные свойства TrackBar:
Orientation: задает ориентацию ползунка - расположение по горизонтали или по вертикали
TickStyle: задает расположение делений на ползунке
TickFrequency: задает частоту делений на ползунке
Minimum: минимальное возможное значение на ползунке (по умолчанию 0)
Maximum: максимальное возможное значение на ползунке (по умолчанию 10)
Value: текущее значение ползунка. Должно находиться между Minimum и Maximum
Свойство TickStyle
может принимать ряд значений:
None
: деления отсутствуют
Both
: деления расположены по обеим сторонам ползунка
BottomRight
: у вертикального ползунка деления находятся справа, а у горизонтального - снизу
TopLeft
: у вертикального ползунка деления находятся слева, а у горизонтального - сверху (применяется по умолчанию)
К наиболее важным событиям элемента следует отнести событие Scroll, которое позволяет обработать перемещение ползунка от одного деления к другому. Что может быть полезно, если нам надо, например, устанавливать соответствующую громкость звука в зависимости от значения ползунка, либо какике-нибудь другие настройки:
public partial class Form1 : Form { public Form1() { InitializeComponent(); // установка обработчика события Scroll trackBar1.Scroll+=trackBar1_Scroll; } private void trackBar1_Scroll(object sender, EventArgs e) { label1.Text = String.Format("Текущее значение: {0}", trackBar1.Value); } }
Timer является компонентом для запуска действий, повторяющихся через определенный промежуток времени. Хотя он не является визуальным элементом, но его аткже можно перетащить с Панели Инструментов на форму:
Наиболее важные свойства и методы таймера:
Свойство Enabled: при значении true указывает, что таймер будет запускаться вместе с запуском формы
Свойство Interval: указывает интервал в миллисекундах, через который будет срабатывать обработчик события Tick, которое есть у таймера
Метод Start(): запускает таймер
Метод Stop(): останавливает таймер
Для примера определим простую форму, на которую добавим кнопку и таймер. В файле кода формы определим следующий код:
public partial class Form1 : Form { int koef = 1; public Form1() { InitializeComponent(); this.Width = 400; button1.Width = 40; button1.Left = 40; button1.Text = ""; button1.BackColor = Color.Aqua; timer1.Interval = 500; // 500 миллисекунд timer1.Enabled = true; button1.Click += button1_Click; timer1.Tick += timer1_Tick; } // обработчик события Tick таймера void timer1_Tick(object sender, EventArgs e) { if (button1.Left == (this.Width-button1.Width-10)) { koef=-1; } else if (button1.Left == 0) { koef = 1; } button1.Left += 10 *koef; } // обработчик нажатия на кнопку void button1_Click(object sender, EventArgs e) { if(timer1.Enabled==true) { timer1.Stop(); } else { timer1.Start(); } } }
Здесь в конструкторе формы устанавливаются начальные значения для таймера, кнопки и формы.
Через каждый интервал таймера будет срабатывать обработчик timer1_Tick
, в котором изменяется положение
кнопки по горизонтали с помощью свойства button1.Left
. А с помощью дополнительной переменной koef
можно управлять направлением движения.
Кроме того, с помощью обраотчика нажатия кнопки button1_Click
можно либо остановить таймер (и вместе с ним движение
кнопки), либо опять его запустить.
Элемент ProgressBar служит для того, чтобы дать пользователю информацию о ходе выполнения какой-либо задачи.
Наиболее важые свойства ProgressBar:
Minimum: минимальное возможное значение
Maximum: максимальное возможное значение
Value: текущее значение элемента
Step: шаг, на который изменится значение Value при вызове метода PerformStep
Для имитации работы прогрессбара поместим на форму таймер и в коде формы определим следующий код:
public partial class Form1 : Form { public Form1() { InitializeComponent(); timer1.Interval = 500; // 500 миллисекунд timer1.Enabled = true; timer1.Tick += timer1_Tick; } // обработчик события Tick таймера void timer1_Tick(object sender, EventArgs e) { progressBar1.PerformStep(); } }