c Winform 跨執行緒操作控制項

發布 科技 2024-05-26
4個回答
  1. 匿名使用者2024-02-11

    主線程建立的控制項不能直接在子執行緒中使用。 需要建立委託,在委託事件中寫入主線程式控制件操作的**,並在子執行緒中呼叫委託操作的主線程式控制件。

    下面是乙個寫作示例:

    public partial class form1 : form

    thread thread=null;

    int n = 0;

    bool severisrun=false;它用於顯示執行緒是否已啟動。

    private delegate void mydelegate(string str);定義委派。

    private void setrich(string str) 委託。

    if (mydelegate md = new mydelegate(;

    new object

    str;public form1()

    initializecomponent();

    private void run()

    while(true)

    setrich((n++)tostring())

    private void button1_click(object sender, eventargs e)

    if(!severisrun)

    threadstart ts =new threadstart(run);

    thread = new thread(ts);

    severisrun=true;

    private void button2_click(object sender, eventargs e)

    if(severisrun)

    severisrun=false;

    private void form1_formclosing(object sender, formclosingeventargs e)

    if(severisrun)

    severisrun=false;

  2. 匿名使用者2024-02-10

    委託。 private void delegate changechkboxstatedelegate();

    如果私有 void changechkboxstate() 方法有引數,則在上面的委託定義中也必須具有相同的引數。

    if(changechkboxstatedelegate newdelegate = new changechkboxstatedelegate();

    new object{

  3. 匿名使用者2024-02-09

    是的,將其新增到表單建立或載入方法中。

    false;

    可以把筵席叫過志陵銀線,王淳。 一般來說,小程式可以通過自己玩來做到這一點。

  4. 匿名使用者2024-02-08

    C 中的 UI 元素由主線程建立,只能由建立它們的主線程修改,因為 UI 元素本身不是執行緒安全的,多執行緒操作可能會導致不可預知的錯誤。 因此,預設情況下,嘗試從其他執行緒操作 UI 元素會引發異常,儘管您可以通過以下方式強制對 UI 元素進行跨執行緒操作:

    checkforillegalcrossthreadcalls = false;

    但是,不建議這樣做。 通常,建議對 UI 元素進行跨執行緒操作。

    method);

    method, params object args);

    invoke 方法可以由任何執行緒呼叫,但只會在建立表單的主線程上執行相應的委託。

    乙個最小的例子如下:

    private void button1_click(object sender, eventargs e)

    private void threadaction()

    private void uiaction()

    因為 invoke 的引數包含委託委託,所以需要根據要呼叫的方法的引數和返回值定義對應的委託,然後才能呼叫它。 在上面的例子中,uiaction 方法沒有引數,也沒有返回,所以它直接使用了 methodinvoker 的內建委託。

相關回答
10個回答2024-05-26

您是否正在將資料從 Excel 匯入 Winform? 如果是這樣,它可以是這樣的:引用元件後,應用程式; 這是乙個客戶端。 >>>More

20個回答2024-05-26

SQL分頁欄使用乙個變數記錄進入資料庫檢查的頁數,定義三個變數,第乙個是當前頁數,第二個顯示每頁有多少條資料,第三個查詢乙個計數來顯示總共有多少頁,前面可以和資料來源繫結。 >>>More

9個回答2024-05-26

這有點複雜,不是嗎? 每個**的驗證碼機制都不一樣,你沒有明確的目標,你不能告訴你,你不給積分,太吝嗇了。

13個回答2024-05-26

我就不具體怎麼複習了:

讓我們先讓大家知道研究生入學考試的內容吧! 我今年考研分為初試和複試,初試滿分500分 英語(100)、數學(150)、政治(100)是全國統一命題,還有一門專業課程(150)和你申請的單位的命題。 >>>More

4個回答2024-05-26

您好,作為今年帶著電子資訊上岸參加某天坑盤問的準研究生,希望能讓大家思考一下是否要過考,決定過考後該怎麼辦。 >>>More