天天看點

解決DataGridView在多線程中無法顯示滾動條的問題在多線程中對DataGridView指定 DataSource 來填充資料,更新資料的時候,會導緻DataGridView出現假死,顯示錯誤或者滾動條無法顯示的問題,在保證了DataGridView的ScrollBars設定為了Both,資料量大于DataGridView顯示的的範圍,而且沒有當機列的情況下,解決方法如下:

一是使用 Invoke 将執行資料綁定的代碼交回給主線程(因為 DataGridView 是主線程建立的);

二是在指定 DataSource 之前,将其置為 null。

忽略子線程操作主線程建立的對象隻要加一句:Control.CheckForIllegalCrossThreadCalls = false;但不可在多線程中随便使用。