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