您现在的位置:首页 >> 软件开发 >> 内容

C#使用多线程定时刷新界面避免假死的方法

时间:2023-12-12 23:13:44 点击:

  核心提示:namespace ThreadTest2{ public partial class Form1 : Form { public Form1() { InitializeComponent(); }...

namespace ThreadTest2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btn_Start_Click(object sender, EventArgs e)
        {
            Thread myThread = new Thread(ThreadMethod);
            myThread.IsBackground = true;
            myThread.Start();
        }
 
        /// <summary>
        /// 多线程执行指定方法
        /// </summary>
        private void ThreadMethod()
        {
            while (true)
            {
                Thread.Sleep(100);  //线程暂停100毫秒
                ThreadStart();
            }
        }
 
        private delegate void ThreadStartDelegate();
        /// <summary>
        /// 线程方法
        /// </summary>
        private void ThreadStart()
        {
            if (txt_Text.InvokeRequired)
            {
                ThreadStartDelegate d = ThreadStart;
                txt_Text.Invoke(d);
            }
            else
            {
                txt_Text.Text += "a";
            }
        }
 
        private void btn_Exit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}


这个使用方法就正确了,最大的区别在于会一次一次的完整执行ThreadStart这个方法。而不是一直停留在里面执行。即可达到界面的刷新作用。

作者:站长 来源:网络
相关文章
  • 没有相关文章
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 陈工笔记(www.dui580.com) © 2024 版权所有 All Rights Reserved.
  • 站长:陈工 微信号:chengongbiji QQ:24498854
  • Powered by 陈工