zoukankan      html  css  js  c++  java
  • 多线程操作控件属性

    public partial class Form1 : Form
    {
    private delegate void FlushClient();//代理
    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    Thread thread = new Thread(CrossThreadFlush);
    thread.IsBackground = true;
    thread.Start();
    }

    private void CrossThreadFlush()
    {
    while (true)
    {
    //将sleep和无限循环放在等待异步的外面
    Thread.Sleep(1000);
    ThreadFunction();
    }
    }

    private void ThreadFunction()
    {
    if (this.textBox1.InvokeRequired)//等待异步
    {
    FlushClient fc = new FlushClient(ThreadFunction);
    this.Invoke(fc);//通过代理调用刷新方法
    }
    else
    {
    this.textBox1.Text = DateTime.Now.ToString();
    }
    }
    }

  • 相关阅读:
    Markdown常用写法
    Vue.js学习篇
    ClassLoader
    Java内存篇
    Spring-AOP学习篇
    M3U8Downloader
    IngCrawler
    ulimit开启coredump时核心转储
    Linux下的bc计算器
    Maven相关介绍
  • 原文地址:https://www.cnblogs.com/ahghy/p/5121635.html
Copyright © 2011-2022 走看看