В моем приложении у меня есть элемент управления DataGridView, который отображает данные для выбранного объекта. Когда я выбираю другой объект (в выпадающем списке выше), мне нужно обновить сетку. К сожалению, разные объекты имеют совершенно разные данные, даже разные столбцы, поэтому мне нужно очистить все существующие данные и столбцы, создать новые столбцы и добавить все строки. Когда это будет сделано, весь контроль мерцает ужасно, и это требует возраста. Есть ли общий способ получить элемент управления в состоянии обновления, чтобы он не перерисовывался, а затем перерисовывал его после завершения всех обновлений?Мерцание во время обновлений элементам управления в WinForms (например, DataGridView)
Это, конечно, возможно с TreeViews:
myTreeView.BeginUpdate();
try
{
//do the updates
}
finally
{
myTreeView.EndUpdate();
}
Есть ли общий способ сделать это с другими органами управления, DataGridView в частности?
ОБНОВЛЕНИЕ: Извините, я не уверен, что я был достаточно ясен. Я вижу «мерцающий», потому что после одного редактирования управления получает перекрасили на экране, так что вы можете увидеть полосу прокрутки усадка и т.д.
добавить это в свой DataGridView DoubleBuffered (true); –