C# Cross thread operation detected.

來源:互聯網
上載者:User

標籤:

最近改別人的代碼調試時報這個錯,調試了蠻久沒發現什麼問題,百度了下也沒發現相應的解決方案。

Thread th = new Thread(new ThreadStart(() =>
{
table.Rows.Clear();
checkSaveData();
BindDataGrid(table);
}));
th.IsBackground = true;
th.Start();

後來經過別人解釋才想到大概是什麼原因。報錯提示的大致意思就是線上程裡面操作表單的控制項,當時沒發現什麼代碼在什麼地方調用了表單的控制項,

問題是table.Rows.Clear();這行代碼,由於表單中取數時把gridControl的綁定資料來源設為table,所以當線上程裡把table的所有行Clear掉時,觸發了

gridControl的資料變化的事件,等於間接操作了gridControl,所以就報了這個錯誤,只要把這行代碼寫到線程的上一行就行了,效果也一樣。

C# Cross thread operation detected.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.