正確使用工具條

正確使用Thread 更新Form 上的進度條 Progress

 

 

public partial class Test : Form
    {
        delegate void deleProgressSet(int i);
        public Test_Progress()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            progressBar1.Minimum = 0;
            progressBar1.Maximum = 1000;
            Thread oThread = new Thread(new ThreadStart(StartThread));
            oThread.Start();
        }

        private void StartThread()
        {
            for (int i = 0; i < 1000; i++ )
            {
                Thread.Sleep(1);
                //progressBar1.Value = i;
                ShowMessage(i);
            }
               
        }

        private void ShowMessage(int i)
        {
            if (InvokeRequired)
            {
                deleProgressSet dele = new deleProgressSet(ShowMessage);
                BeginInvoke(dele,i);
            }
            else
            {
                progressBar1.Value = i;
            }
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章