线程暂停

时间:2023-04-27
本文章向大家介绍线程暂停,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

代码:

namespace ThreadPause
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        ManualResetEvent OnOff = new ManualResetEvent(true);
        private void Form1_Load(object sender, EventArgs e)
        {
            OnOff.Reset();
            Task.Run(() =>
            {
                while (progressBar1.Value < 100)
                {
                    OnOff.WaitOne();
                    Thread.Sleep(100);
                    Invoke(new Action(() =>
                    {
                        progressBar1.Value++;
                    }));
                }
            });
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (button1.Text == "暂停")
            {
                OnOff.Reset();
                button1.Text = "开始";
            }
            else
            {
                OnOff.Set();
                button1.Text = "暂停";
            }
        }
    }
}

原文地址:https://www.cnblogs.com/zzzyt/p/17360494.html