国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#中錯誤:線程間操作無效,從不是創(chuàng)建控件的線程訪問它。

這篇具有很好參考價值的文章主要介紹了C#中錯誤:線程間操作無效,從不是創(chuàng)建控件的線程訪問它。。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、原因分析

跨線程調(diào)用控件會出現(xiàn)這個錯誤的原因是因為:.NET禁止了跨線程調(diào)用控件, 否則誰都可以操作控件,最后可能造成錯誤。 所以不是在創(chuàng)建控件所在的線程內(nèi)調(diào)用就會發(fā)生這樣的錯誤。

二、解決辦法

方法1:設(shè)置CheckForIllegalCrossThreadCalls =false 是能去掉這個檢查的,但是這不是標(biāo)準(zhǔn)的作法.

方法2:定義一個委托(delegate),委托(delegate)可以將參數(shù)與方法傳遞給控件所在的線程,并由控件所在的線程執(zhí)行,通過Invoke來調(diào)用,這樣可以完美的解決此類問題。

Action action = () =>
{
? ? TimeBox.Text = TimeString;
? ? ResultBox.Text = hv_ResultStr;
? ? DisplayImageHalconWindow(AcqImage, GrayImage);
? ? DisplayImageHalconWindow(ThresholdImage, MeanImage);
};
Invoke(action);

三、總結(jié)

在控件的線程中遇到阻塞時可以通過創(chuàng)建另一個線程來解決界面的阻塞問題,例:new Thread(ImageDealThread).Start();將控件所需要處理的事件封裝到一個函數(shù)里面,通過線程進行調(diào)用,跨線程訪問控件可以通過定義一個委托(delegate)來將參數(shù)與方法傳遞給控件所在的線程,再通過Invoke來調(diào)用。

錯誤之處,歡迎大家指出!文章來源地址http://www.zghlxwxcb.cn/news/detail-616772.html

到了這里,關(guān)于C#中錯誤:線程間操作無效,從不是創(chuàng)建控件的線程訪問它。的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • c# 跨線程訪問UI控件

    ? ? ? ? 在一個應(yīng)用程序中,往往存在兩種線程:UI線程和工作線程。 ? ? ? ? UI線程有窗口,創(chuàng)建窗口的控件,且有消息隊列對窗口和控件的消息進行管理。主要處理和UI相關(guān)的邏輯。 ? ? ? ? 工作線程主要處理和業(yè)務(wù)相關(guān)的比較復(fù)雜的邏輯,當(dāng)處理好之后有可能會調(diào)用U

    2024年02月08日
    瀏覽(24)
  • C# WinForm 跨線程訪問控件

    C# WinForm 跨線程訪問控件

    在WinForm開發(fā)中,經(jīng)常會碰到主線程代碼運行過程中需要刷新窗體控件的情況,如果直接在其他線程中去操作窗體控件,這時會拋出線程間操作無效的異常信息,因為窗體控件是由主線程創(chuàng)建的,C#強制要求代碼必須是線程安全的,所以不允許跨線程訪問。需要使用控件的Inv

    2024年02月04日
    瀏覽(24)
  • C#線程操作UI控件

    C#線程操作UI控件

    在寫winform程序時候,如果時間長的操作不用線程操作。那么會卡死UI,點擊界面就體現(xiàn)為未響應(yīng)。為此需要對耗時操作用線程處理,比如檢驗的監(jiān)聽程序就是一個死循環(huán),不停檢查文件夾或數(shù)據(jù)庫又沒有數(shù)據(jù),然后上傳。如果不時有線程,在數(shù)據(jù)多的情況,程序是基本點不動

    2024年02月13日
    瀏覽(21)
  • QT子線程或自定義類操作訪問主界面UI控件的幾種方法

    QT子線程或自定義類操作訪問主界面UI控件的幾種方法

    ????????QT創(chuàng)建窗體工程,一般在MainWindow或Dialog類里可以直接通過ui指針訪問控件,但是添加新的類后又如何訪問呢,可以通過以下幾種方式: (1)例如有個自己定義的類CustomClass,在自定義類里包含主界面指針MainWindow * class MainWindow; ? class CustomClass { public: ? ? CustomCla

    2024年02月09日
    瀏覽(23)
  • MySQL啟動服務(wù)時發(fā)生系統(tǒng)錯誤 5,拒絕訪問且管理員權(quán)限無效、net start mysql 服務(wù)名無效解決方法

    MySQL啟動服務(wù)時發(fā)生系統(tǒng)錯誤 5,拒絕訪問且管理員權(quán)限無效、net start mysql 服務(wù)名無效解決方法

    在重啟MySQL服務(wù)后,報錯 啟動服務(wù)時發(fā)生系統(tǒng)錯誤 5,拒絕訪問 網(wǎng)上查詢解決辦法都是使用管理員權(quán)限開啟CMD運行 net start mysql 會報錯 服務(wù)名無效 ,解決辦法為修改為 net start mysqlXX ,XX為版本號,如我的8.0就是 net start mysql80 運行后仍然會報錯 啟動服務(wù)時發(fā)生系統(tǒng)錯誤 5,拒

    2024年02月01日
    瀏覽(30)
  • 全網(wǎng)多種方法解決Invalid Host header(無效的主機頭)服務(wù)器域名訪問出現(xiàn)的錯誤

    全網(wǎng)多種方法解決Invalid Host header(無效的主機頭)服務(wù)器域名訪問出現(xiàn)的錯誤

    在搭建 vue-cli 環(huán)境,用 nginx 做代理服務(wù)器,訪問時卻顯示: Invalid Host header 。 知其然,知其所以然,我們在解決該問題之前,要弄明白 Invalid Host header 是什么。 ChatGPT 目前正火,可以借助 ChatGPT 來回答, Invalid Host header 是什么,如下圖所示: The “Invalid Host header” error typ

    2024年02月03日
    瀏覽(39)
  • Winform UI界面設(shè)計例程——多線程訪問UI控件

    Winform UI界面設(shè)計例程——多線程訪問UI控件

    這里討論兩種多線程訪問UI控件的方法,線程完成后更新Lable控件 如下圖,第一種方式為方式1按鈕按下,線程運行,并更新label 第二種方法為按下方式2按鈕,線程運行,完成后更新label ?新建winform項目程序,布局如上,大家可以不用配色,簡單即可 引用 using System.Threading; ?

    2023年04月08日
    瀏覽(27)
  • 【已解決】多種方式最新解決Invalid Host header(無效的主機頭)服務(wù)器域名訪問出現(xiàn)的錯誤

    【已解決】多種方式最新解決Invalid Host header(無效的主機頭)服務(wù)器域名訪問出現(xiàn)的錯誤

    ?? 個人主頁: 不叫貓先生 ,公眾號: 前端舵手 ???♂? 作者簡介:CSDN博客專家、內(nèi)容合伙人,2023新星計劃導(dǎo)師,前端領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,共同學(xué)習(xí)共同進步,一起加油呀! ?? 資料領(lǐng)?。呵岸诉M階資料可以找我免費領(lǐng)取 Invalid Host header 這個報錯在網(wǎng)上有很多文章介紹解決

    2024年02月08日
    瀏覽(20)
  • HTTP 錯誤 500.19 - Internal Server Error 無法訪問請求的頁面,因為該頁的相關(guān)配置數(shù)據(jù)無效——錯誤代碼:0x8007000d

    HTTP 錯誤 500.19 - Internal Server Error 無法訪問請求的頁面,因為該頁的相關(guān)配置數(shù)據(jù)無效——錯誤代碼:0x8007000d

    報錯圖片: 最近在課上學(xué)習(xí)IIS發(fā)布.NET Core項目出現(xiàn)HTTP錯誤500.19 - Internal Server Error 無法訪問請求的頁面,因為該頁的相關(guān)配置數(shù)據(jù)無效——錯誤代碼:0x8007000d 就是下面這樣子的情況: 原因分析: 這邊好像是缺少【ASPNETCoreModuleV2】文件,需要在微軟官網(wǎng)下載運行組件,并安裝

    2024年02月02日
    瀏覽(29)
  • c#入門-Task創(chuàng)建線程

    在c#中,有線程類。激活線程對象就可以實現(xiàn)多線程。 不過,這是在代碼角度來說的。你可以在代碼中創(chuàng)建一萬個線程。 但實際上你的cpu沒有一萬個邏輯處理器來真正同時執(zhí)行這一萬個線程。 所以我們稱創(chuàng)建一萬個線程為創(chuàng)建一萬個并發(fā)——我們希望同時執(zhí)行一萬個線程,

    2024年02月01日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包