第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

跨線程操作無效

跨線程操作無效

楊__羊羊 2019-07-25 09:38:54
跨線程操作無效好的,我知道為什么這會(huì)給我這個(gè)錯(cuò)誤:跨線程操作無效:控制從其創(chuàng)建的線程以外的線程訪問的“Form1”。但是......我怎樣才能使這個(gè)可行?System.Threading.Thread t = new System.Threading.Thread(()=>{    // do really hard work and then...    listView1.Items.Add(lots of items);    lots more UI work});t.Start();我不關(guān)心Thread何時(shí)或如何完成,所以我并不關(guān)心任何花哨或過于復(fù)雜的atm,除非在新的Thread中使用UI時(shí)會(huì)更容易。
查看完整描述

2 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

你不能。必須在擁有的線程上執(zhí)行UI操作。期。

可以做的是在子線程上創(chuàng)建所有這些項(xiàng)目,然后調(diào)用Control.Invoke并在那里進(jìn)行數(shù)據(jù)綁定。

或者使用 BackgroundWorker

    BackgroundWorker bw = new BackgroundWorker();
    bw.DoWork += (s, e) => { /* create items */ };
    bw.RunWorkerCompleted += (s, e) => { /* databind UI element*/ };

    bw.RunWorkerAsync();


查看完整回答
反對 回復(fù) 2019-07-25
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

從另一個(gè)線程訪問from的屬性時(shí),拋出此異常。要解決此問題,至少有兩個(gè)選項(xiàng)。

  1. 告訴控制不要拋出這些異常(不推薦):

    Control.CheckForIllegalCrossThreadCalls = false;

  2. 使用線程安全函數(shù):

    private void ThreadSafeFunction(int intVal, bool boolVal){
        if (this.InvokeRequired)
        {
            this.Invoke(
                new MethodInvoker(
                delegate() { ThreadSafeFunction(intVal, boolVal); }));
        }
        else
        {
            //use intval and boolval
        }}


查看完整回答
反對 回復(fù) 2019-07-25
  • 2 回答
  • 0 關(guān)注
  • 470 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號