1. 程式人生 > >C# TrackBar滑動條屬性以及使用

C# TrackBar滑動條屬性以及使用

Maximum屬性:用來獲取或設定TrackBar控制元件可表示的範圍上限,即最大值。

Minimum屬性:用來獲取或設定TrackBar控制元件可表示的範圍下限,即最小值。

SmallChange屬性:用來獲取或設定當滑塊短距離移動時對Value屬性進行增減的值。

Value屬性:用來獲取或設定滑塊在跟蹤條控制元件上的當前位置的值。------其他控制元件調取的主要方式。

Orientation屬性:用來獲取或設定一個值,該值指示跟蹤條是在水平方向還是在垂直方向。

TickFrequency屬性:用來獲取或設定一個值,該值指定控制元件上繪製的刻度之間的增量。

AutoSize屬性:預設值為True,自動調整控制元件的大小。False,自由調整控制元件的大小,即為可以調整長寬高。

 

TrackBar控制元件的常用事件是ValueChanged,該事件在TrackBar控制元件的Value屬性值改變時發生時,重中之重

private void trackBar1_Scroll(object sender, EventArgs e)
        {
            textBoxX1.Text = trackBar1.Value.ToString();
        }
 

 

完整程式碼參考

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (timer1.Enabled == true)
            {
                timer1.Enabled = false;
                button1.Text = "開始";
            }
            else
            {
                timer1.Enabled = true;
                button1.Text = "停止";
            }
        }

        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            //使用trackBar1調整步進速度,不能為零
            timer1.Interval = Convert.ToInt16(5000 / trackBar1.Value);
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (this.progressBar1.Value == this.progressBar1.Maximum)
            {
                this.progressBar1.Value = this.progressBar1.Minimum;
            }
            else
            {
                //主要是這個函式,步進
                this.progressBar1.PerformStep();
            }
            //計算百分比
            int intPercent;
            intPercent = 100 * (this.progressBar1.Value - this.progressBar1.Minimum) / (this.progressBar1.Maximum - this.progressBar1.Minimum);
            label1.Text = Convert.ToInt16(intPercent).ToString() + "%";
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.progressBar1.Maximum = 1000;
            this.progressBar1.Step = 10;
        }
    }
}