C# 多线程更新界面的错误方法

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 多线程更新界面的错误方法相关的知识,希望对你有一定的参考价值。

由于一个线程的程序,如果调用一个功能是阻塞的,那么就会影响到界面的更新,导致使用人员操作不便。所以往往会引入双线程的工作的方式,主线程负责更新界面和调度,而次线程负责做一些阻塞的工作。

这样做了之后,又会导致一个常见的问题,就是很多开发人员会在次线程里去更新界面的内容。比如下面的例子:

在上面的例子里,创建Win forms应用,然后增加下面的代码:

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;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
        

以上是关于C# 多线程更新界面的错误方法的主要内容,如果未能解决你的问题,请参考以下文章

C# invoke使用

C# 多线程更新界面的第二种方法

C# this.Invoke()的作用与用法

C#关于定时器和多线程中对控件的操作以及界面假死的现象。

多线程更新UI的常用方法

c# 多线程 ui winform界面