在我的应用程序中,我有一个DataGridView控件显示所选对象的数据。当我选择一个不同的对象(在上面的组合框中)时,我需要更新网格。不幸的是,不同的对象有完全不同的数据,甚至是不同的列,所以我需要清除所有现有的数据和列,创建新列并添加所有行。当这样做完成后,整个控制系统会发生可怕的闪烁,并且需要很长时间。是否有一种通用的方式来获取控件的更新状态,以便它不重绘本身,然后在完成所有更新后重新绘制它?在更新WinForms中的控件时闪烁(例如DataGridView)
这当然是可能的的TreeView:
myTreeView.BeginUpdate();
try
{
//do the updates
}
finally
{
myTreeView.EndUpdate();
}
有没有一种通用的方法特别是与其他控件做到这一点,DataGridView的?
更新:对不起,我不确定我是否清楚。我看到的“闪烁”,因为单一的编辑后的控制获取屏幕上重新绘制,所以你可以看到滚动条萎缩等
在您的DataGridView DoubleBuffered(true)中添加此项; – 2017-08-02 05:39:30