c# 线程对控件的访问

来源:互联网 发布:古墓丽影崛起设置优化 编辑:程序博客网 时间:2024/04/29 22:00
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Threading;namespace WindowsFormsApplication4{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        Thread progressBar = null;        public delegate void showProgressDelegate(int i);        public delegate void showCopyCartoonDelegate(bool isShow);        public ManualResetEvent mre = new ManualResetEvent(false);        private void setProgressBar(int i)        {            progressBar1.Value = i;        }        private void showProgressBarThread()        {            showProgressDelegate sid = new showProgressDelegate(setProgressBar);            for(int i=0;i<10000;i++)            {                Invoke(sid, i);                Thread.Sleep(1);                mre.WaitOne();            }        }        private void runBtn_Click(object sender, EventArgs e)        {            if (progressBar != null && progressBar.IsAlive) progressBar.Abort();            progressBar = new Thread(new ThreadStart(showProgressBarThread));            mre.Set();            progressBar.Start();        }        private void pauseBtn_Click(object sender, EventArgs e)        {            mre.Reset();        }        private void resumeBtn_Click(object sender, EventArgs e)        {            mre.Set();        }        private void Form1_Load(object sender, EventArgs e)        {            progressBar1.Minimum = 0;            progressBar1.Maximum = 10000;        }        private void quitBtn_Click(object sender, EventArgs e)        {            if (progressBar != null && progressBar.IsAlive) progressBar.Abort();            this.Close();        }    }}

原创粉丝点击