C#进度条控件的使用

ProgressBar控件是进度条控件。

Maximum属性是ProgressBar使用的范围上限

Minimum属性是ProgressBar使用的范围下限


采用线程的方式,实现进度条更新的同时,进行其它事情工作。


程序代码:

        //更新进度列表
        private delegate void SetPos(int ipos);

        private void SetTextMessage(int ipos)
        {
        if (this.InvokeRequired)
        {
        SetPos setpos = new SetPos(SetTextMessage);
        this.Invoke(setpos, new object[] { ipos });
        }
        else
        {
        this.label1.Text = ipos.ToString() + "%";
        this.progressBar1.Value = Convert.ToInt32(ipos);
        }
        }

        public Thread fThread;

        private void button1_Click(object sender, EventArgs e)
        {
            fThread = new Thread(new ThreadStart(SleepT));//开辟一个新的线程
            fThread.Start();
            button1.Enabled = false;
        }

        private void SleepT()
        {
            for (int i = 0; i <= 500; i++)
            {
                System.Threading.Thread.Sleep(10); //线程休眠,控制进度条的速度。
                SetTextMessage(100 * i / 500); 
            }

            if (progressBar1.Value == 100)
            {
                if (MessageBox.Show("已完成!", "提示", MessageBoxButtons.OK) 
                     == DialogResult.OK)
                {
                    progressBar1.Value = 0;
                    this.label1.Text = "";
                    button1.Enabled = true;
             }              
            }
        }
运行结果。。。



你可能感兴趣的:(C#serialport)