C 後台執行緒操作,不影響UI

2021-09-28 07:20:41 字數 1448 閱讀 7599

## 方法一 ##
public string backgroundactions(string uriarg)

private void button1_click(object sender, eventargs e)

);}).start();

}

backgroundworker元件使用說明

一.概述

backgroundworker是·net 2.0提供的乙個多執行緒元件,在應用程式中使用,可以非常簡單方便地實現ui控制項通訊,並自動處理多執行緒衝突問題。

二.基本屬性

1.workerreportsprogress ,bool:是否允許報告進度;

2.workersupportscancellation,bool:是否允許取消執行緒。

3.cancellationpending,bool,get:讀取使用者是否取消該執行緒。

三.基本事件

1.dowork:工作者執行緒

2.runworkercompleted :執行緒進度報告

3.progresschanged:執行緒結束報告

四.基本方法

1.runworkerasync() :啟動工作者執行緒;

2.cancelasync():取消工作者執行緒;

3.reportprogress(int);報告進度

五.**

//啟動

private void btnstart_click(object sender, eventargs e)

//通知執行緒停止

private void btnstop_click(object sender, eventargs e)

//工作者執行緒

private void backgroundworker_dowork(object sender, doworkeventargs e)

system.threading.thread.sleep(50);//幹點實際的事

backgroundworker.reportprogress(i);//報告進度 }}

//執行緒進度報告

private void backgroundworker_progresschanged(object sender, progresschangedeventargs e)

//執行緒結束報告

private void backgroundworker_runworkercompleted(object sender, runworkercompletedeventargs e)

六、backgroundworker解決「執行緒間操作無效: 從不是建立控制項的執行緒訪問它」

在主窗體的建構函式中加上c# control.checkforillegalcrossthreadcalls = false;即可

Linux後台執行的方法 關閉 退出不影響

難免會遇到在linux,後台執行任務。下面,總結了一下關閉視窗任然在後台執行的方法,例如 執行乙個打包命令 tar czf data backup.tgz data backup1.採用 tar czf data backup.tgz data backup ctrl d 退出 才可以,如果直接關閉...

Winform之UI後台執行緒

多執行緒,乙個古老的話題,今天我來聊下最基本的執行緒,ui執行緒和後台執行緒。在後台執行緒中直接操作ui控制項會出現異常 執行緒間操作無效 從不是建立控制項 xx 的執行緒訪問它 怎麼解決這個問題那?關鍵點在 和invokerequired屬性,winform的ui 視窗 如下 using syst...

C 多執行緒間操作UI

通過設定ui控制項的invoke和begininvoke方法實現更新,如下 1 public partial class fifth form28 private void settext string text 912 13private void fifth load object sender...