所有你需要的是使用DoubleBuffered
DataGridview
子:
class DBDataGridView : DataGridView
{
public DBDataGridView() { DoubleBuffered = true; }
}
也可以注入雙緩衝到正常出的現成的控制,但我更喜歡有一類我自己,因爲這是在其他方面也擴展..
我已經通過一個公共屬性擴展類,允許開啓和關閉DoubleBuffering
..:
public class DBDataGridView : DataGridView
{
public new bool DoubleBuffered
{
get { return base.DoubleBuffered; }
set { base.DoubleBuffered = value; }
}
public DBDataGridView()
{
DoubleBuffered = true;
}
}
..並用200列和2000行加載測試它。差異是顯而易見的;而垂直滾動做工作,而水平滾動需要DoubleBuffering
..
注意窗體也有一個DoubleBuffering
財產,但將不傳播任何嵌入式控制!
來源
2017-01-27 12:39:24
TaW
您是否嘗試啓用窗體中的雙緩衝? – Carles
我認爲它是因爲事件,你使用網格事件嗎? –
@汽車。沒有。你能告訴我怎麼做,我是新來的C# – Sam