国产97色在线|亚洲-欧美人妻另类制服丝袜-欧美人成国产91视频-殷素素一女战二夫|www.ycjrc.net

Winform 多線程中處理UI控件, 解決線程安全引起的異常

發布時間:2020-08-06 12:21 作者:獨孤劍 閱讀:1287

Winform 多線程中處理UI控件, 多線程中不能直接操作UI控件, 會引發線程安全異常

using System;
using System.Threading;
using System.Windows.Forms;

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

        /*
            在窗體拖拽2個button,1個label
         */ 
        private void button1_Click(object sender, EventArgs e)
        {
            Thread thread = new Thread(Test1);
            thread.Start();
        }

        // 線程中直接操作控件會引發線程安全異常
        // Cross-thread operation not valid: Control 'label1' accessed from a thread other than the thread it was created on.'
        private void Test1()
        {
            for (int i = 0; i < 1000; ++i)
            {
                label1.Text = i.ToString();
            }
        }

        // Control.CheckForIllegalCrossThreadCalls = false;// 可以解決掉所有控件安全異常
        private void Test2()
        {
            Control.CheckForIllegalCrossThreadCalls = false;
            for (int i = 0; i < 1000; ++i)
            {
                label1.Text = i.ToString();
            }
        }

        // 在線程中用委托操作UI控件
        delegate void InvokeHandler();
        private void Test3()
        {
            for (int i = 0; i < 1000; ++i)
            {
                // net 2.0
                this.Invoke(new InvokeHandler(delegate ()
                {
                    label1.Text = i.ToString();
                }));
            }
        }

        // 在線程中用委托操作UI控件
        private void Test4()
        {
            for (int i = 0; i < 1000; ++i)
            {
                // net 3.5 以上
                this.Invoke((Action)(() =>
                {
                    label1.Text = i.ToString();
                }));
            }
        }
    }
}


微信打賞, 微信掃一掃

支付寶打賞, 支付寶掃一掃

如果文章對您有幫助,歡迎給作者打賞

作者最新文章
開發過程中解決360兼容模式瀏覽器的方法
云南象群向西南方向遷移,云南離群獨象距離象群約12公里
吉林做網站最低價格,吉林企業網站建設價格低至500元起
守象人直擊云南象群最新動向
網站影響百度蜘蛛抓取量的因素有哪些?為什么我的網站Baidu蜘蛛來的次數少?
企業名片
在線客服