TrackBar, Timer и ProgressBar

Последнее обновление: 31.10.2015

TrackBar

TrackBar представляет собой элемент, который с помощью перемещения ползунка позволяет вводить числовые значения.

Элемент TrackBar в Windows Forms

Некоторые важные свойства 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);
    }
}
Перемещение ползунка в Windows Forms

Timer

Timer является компонентом для запуска действий, повторяющихся через определенный промежуток времени. Хотя он не является визуальным элементом, но его аткже можно перетащить с Панели Инструментов на форму:

Timer в Windows Forms

Наиболее важные свойства и методы таймера:

  • Свойство 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 служит для того, чтобы дать пользователю информацию о ходе выполнения какой-либо задачи.

ProgressBar в Windows Forms

Наиболее важые свойства 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();
    }
}
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850