免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
跨線程調(diào)用控件之MethodInvoker - C#天空 - 博客園

這是一部分重要的代碼,用VS2005通過。

使用到兩個(gè)控件,一個(gè)按鈕button1,一個(gè)標(biāo)簽label1。

 


         private void button1_Click(object sender, EventArgs e)  

        {

            Thread thread=new Thread(new ThreadStart(myname));

            thread.IsBackground=true;

            thread.Start();

             // 啟動(dòng)一個(gè)線程。

        }

        private void myname()

        {

           MethodInvoker mi = new MethodInvoker(hello);

            //創(chuàng)建一個(gè)委托,hello是該委托所托管的代碼,必須是聲明為void的。

           Invoke(mi);//同步執(zhí)行委托。               

            //BeginInvoke(mi);異步執(zhí)行委托。

        }

        private void hello()

        {

            label1.Text = "我是跨線程的!";

        }


  那里不正確,一定要指出,我可不想誤導(dǎo)人,也不想被自己誤導(dǎo)。

PS:寫完后我發(fā)現(xiàn)http://tb.blog.csdn.net/TrackBack.aspx?PostId=715064早就有解釋,比我的還詳細(xì),領(lǐng)教了。

故補(bǔ)充以下代碼:

        private Thread myThread;
        private void Form1_Load(object sender, EventArgs e)
        {
            myThread = new Thread(new ThreadStart(RunsOnWorkerThread));
            myThread.Start();
        }
        private void RunsOnWorkerThread()
        {
            //DoSomethingSlow();
            string pList = "myThread線程調(diào)用UI控件";
            label1.BeginInvoke(new System.EventHandler(UpdateUI), pList);
        }
        //直接用System.EventHandler,沒有必要自定義委托
        private void UpdateUI(object o, System.EventArgs e)
        {
           //UI線程設(shè)置label1屬性
            label1.Text = o.ToString() + "成功!";
   
    }

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C#中跨線程操作控件
C#跨線程操作控件
C# 多線程防止卡死
ProgressBar——Marquee .
如何在多線程中調(diào)用winform窗體控件
轉(zhuǎn):C#中跨線程訪問控件問題解決方案
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服