原文:WinForm中新開一個線程操作 窗體上的控件(跨線程操作控件)

最近在做一個winform的小軟件 搶票的... 。登錄窗體要從遠程web頁面獲取一些數據,為了不阻塞登錄窗體的顯示,開了一個線程去加載數據遠程的數據,會報一個錯誤 線程間操作無效: 從不是創建控件 lbl loading msg 的線程訪問它。 百度一下,原來從.net framework . 開始,為了安全,不允許跨線程操作控件。解決辦法如下: 聲明一個擁有委托類型的方法,作為代理 操作控件的 ...

2013-11-29 22:04 1 3303 推薦指數:

查看詳情

[WinForm]WinForm線程UI操作常用控件類大全

前言 在C#開發的WinForm窗體程序開發的時候,經常會使用多線程處理一些比較耗時之類的操作。不過會有一個問題:就是涉及到線程操作UI元素。 相信才開始接觸的人一定會遇上這個問題。 為了解決這個問題,可以通過委托來實現。 我為了后期使用更加方便,就將常用的幾個控件(TextBox ...

Tue May 24 20:41:00 CST 2016 33 4724
C# winform 線程更改窗體控件的屬性

  當winform程序中新開一個線程,是無法改變主線程窗體控件的屬性的,否則運行時會報錯。   若想在其他線程中控制主線程中的窗體控件,則必須利用BeginInvoke方法。   例如:添加一個名為textbox1的TextBox控件,想將它的Visible設置為false,則執行下面 ...

Fri Dec 16 19:43:00 CST 2016 0 1671
winform線程訪問控件

首先說下,.net 2.0以后加強了安全機制,不允許在winform中直接線程訪問控件的屬性。所以除了控件所在的線程外的線程調用會拋異常 (Cross-thread operation not valid:Control 'textBox1' accessed from a thread ...

Wed Nov 15 01:00:00 CST 2017 2 4116
C#線程操作控件

1.首先通過按鍵創建子線程: 創建子線程,子線程調用changeText方法。 2.子線程操作彈窗提示: 效果圖: 3.子線程修改主線程控件 (1)錯誤的直接使用: 效果圖: (2)關閉線程的檢查 ...

Tue Sep 29 02:08:00 CST 2015 2 6100
C#線程操作控件

Winform、wpf禁止線程直接訪問控件,因此在必須線程訪問控件的時候采用異步方式。 1、wi ...

Fri Oct 17 21:42:00 CST 2014 3 5278
WPF線程操作UI界面控件

在WPF應用中,如果遇到多線程的需求時,如果引用WPF控件時會引發異常,異常內容:調用線程無法訪問此對象,因為另一個線程擁有該對象。具體如下: 調用代碼: ThreadcountThread= new Thread( new ThreadStart(Count ...

Tue Sep 17 17:36:00 CST 2019 0 663
C#線程操作控件線程修改主線程控件

3.子線程修改主線程控件 (1)錯誤的直接使用: 效果圖: (2)關閉線程的檢查: 效果圖: 注:參數類型是object型 按鍵點擊調用方法修改控件: 注:參數不是在線程創建的時候寫入,是在start函數寫入 ...

Fri Jan 08 23:00:00 CST 2021 0 351
C# WinForm 線程訪問控件

問題出現: 在WinForm 處理多線程訪問主線程控件時候,就會出現如圖所示的錯誤對話框: 解決方案: 方案一:去掉線程訪問主線程UI控件的安全檢查,使用: 方案二:使用委托,將對主線程的UI控件操作推送了該線程的消息隊列里,使用的方法 ...

Fri Sep 15 18:53:00 CST 2017 3 11689
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM