欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#多線程與跨線程訪問(wèn)界面控件的方法

 更新時(shí)間:2015年03月03日 11:19:58   作者:尋i  
這篇文章主要介紹了C#多線程與跨線程訪問(wèn)界面控件的方法,實(shí)例分析了C#多線程與跨線程訪問(wèn)空間的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#多線程與跨線程訪問(wèn)界面控件的方法。分享給大家供大家參考。具體分析如下:

在編寫(xiě)WinForm訪問(wèn)WebService時(shí),常會(huì)遇到因?yàn)榫W(wǎng)絡(luò)延遲造成界面卡死的現(xiàn)象。啟用新線程去訪問(wèn)WebService是一個(gè)可行的方法。

典型的,有下面的啟動(dòng)新線程示例:

復(fù)制代碼 代碼如下:
private void LoadRemoteAppVersion() 

    if (FileName.Text.Trim() == "") return; 
    StatusLabel.Text = "正在加載"; 
    S_Controllers_Bins.S_Controllers_BinsSoapClient service = new S_Controllers_Bins.S_Controllers_BinsSoapClient(); 
    S_Controllers_Bins.Controllers_Bins m = service.QueryFileName(FileName.Text.Trim()); 
    if (m != null) 
    { 
        //todo: 
        StatusLabel.Text = "加載成功"; 
    }else 
        StatusLabel.Text = "加載失敗"; 

private void BtnLoadBinInformation(object sender, EventArgs e) 

    Thread nonParameterThread = new Thread(new ThreadStart(LoadRemoteAppVersion)); 
    nonParameterThread.Start();   
}

運(yùn)行程序的時(shí)候,如果要在線程里操作界面控件,可能會(huì)提示不能跨線程訪問(wèn)界面控件,有兩種處理方法:

1.啟動(dòng)程序改一下:

復(fù)制代碼 代碼如下:
/// <summary> 
/// 應(yīng)用程序的主入口點(diǎn)。 
/// </summary> 
[STAThread] 
static void Main() 

    Application.EnableVisualStyles();  
    System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false; 
    Application.SetCompatibleTextRenderingDefault(false); 
    Application.Run(new Form1()); 
}

2.使用委托
復(fù)制代碼 代碼如下:
public delegate void LoadRemoteAppVersionDelegate(); //定義委托變量
private void BtnLoadBinInformation(object sender, EventArgs e) 

    LoadRemoteAppVersionDelegate func = new LoadRemoteAppVersionDelegate(LoadRemoteAppVersion);//<span style="font-family: Arial, Helvetica, sans-serif;">LoadRemoteAppVersion不用修改</span> 
    func.BeginInvoke(null, null); 
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • c#生成縮略圖的實(shí)現(xiàn)方法

    c#生成縮略圖的實(shí)現(xiàn)方法

    c#生成縮略圖的實(shí)現(xiàn)方法,需要的朋友可以參考一下
    2013-04-04
  • Unity實(shí)現(xiàn)繞任意軸任意角度旋轉(zhuǎn)向量

    Unity實(shí)現(xiàn)繞任意軸任意角度旋轉(zhuǎn)向量

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)繞任意軸任意角度旋轉(zhuǎn)向量,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • C#中Parallel類(lèi)For、ForEach和Invoke使用介紹

    C#中Parallel類(lèi)For、ForEach和Invoke使用介紹

    這篇文章介紹了C#中Parallel類(lèi)For、ForEach和Invoke的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#實(shí)現(xiàn)獲取IIS站點(diǎn)及虛擬目錄信息的方法

    C#實(shí)現(xiàn)獲取IIS站點(diǎn)及虛擬目錄信息的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)獲取IIS站點(diǎn)及虛擬目錄信息的方法,可實(shí)現(xiàn)獲取IIS站點(diǎn)信息及物理路徑等功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • C#中Array與ArrayList用法及轉(zhuǎn)換的方法

    C#中Array與ArrayList用法及轉(zhuǎn)換的方法

    C#中Array與ArrayList用法及轉(zhuǎn)換的方法,需要的朋友可以參考一下
    2013-03-03
  • C#中Lambda表達(dá)式的用法

    C#中Lambda表達(dá)式的用法

    這篇文章介紹了C#中Lambda表達(dá)式的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#中多態(tài)、重載、重寫(xiě)區(qū)別分析

    C#中多態(tài)、重載、重寫(xiě)區(qū)別分析

    這篇文章主要介紹了C#中多態(tài)、重載、重寫(xiě)區(qū)別,采用實(shí)例較為通俗易懂的分析了多態(tài)、重載的重寫(xiě)的概念與用法,對(duì)于C#初學(xué)者有非常不錯(cuò)的借鑒價(jià)值,需要的朋友可以參考下
    2014-09-09
  • 在C#程序中注入惡意DLL的方法詳解

    在C#程序中注入惡意DLL的方法詳解

    為什么?Windbg?附加到?C#?程序后,程序就處于中斷狀態(tài)了?它到底是如何實(shí)現(xiàn)的?其實(shí)簡(jiǎn)而言之就是線程的遠(yuǎn)程注入,這一篇就展開(kāi)說(shuō)一下
    2022-09-09
  • 基于Unity制作一個(gè)簡(jiǎn)易的計(jì)算器

    基于Unity制作一個(gè)簡(jiǎn)易的計(jì)算器

    今天主要和大家分享如何使用Unity制作計(jì)算器,難度中等,可以用來(lái)學(xué)習(xí),或者當(dāng)成其他項(xiàng)目的小組件導(dǎo)入。當(dāng)然,也可以導(dǎo)出來(lái),發(fā)布到網(wǎng)頁(yè)端,來(lái)做一個(gè)嵌入式工具也可以。感興趣的可以跟隨小編學(xué)習(xí)一下
    2022-03-03
  • WPF簡(jiǎn)單的數(shù)據(jù)庫(kù)查詢(xún)實(shí)例

    WPF簡(jiǎn)單的數(shù)據(jù)庫(kù)查詢(xún)實(shí)例

    下面小編就為大家分享一篇WPF簡(jiǎn)單的數(shù)據(jù)庫(kù)查詢(xún)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11

最新評(píng)論