Trong ứng dụng của tôi, tôi có một điều khiển DataGridView hiển thị dữ liệu cho đối tượng đã chọn. Khi tôi chọn một đối tượng khác (trong hộp kết hợp ở trên), tôi cần phải cập nhật lưới. Thật không may các đối tượng khác nhau có dữ liệu hoàn toàn khác nhau, thậm chí các cột khác nhau, vì vậy tôi cần xóa tất cả dữ liệu và cột hiện có, tạo cột mới và thêm tất cả các hàng. Khi điều này được thực hiện, toàn bộ điều khiển nhấp nháy khủng khiếp và phải mất độ tuổi. Có một cách chung chung để có được sự kiểm soát trong một trạng thái cập nhật để nó không repaint chính nó, và sau đó repaint nó sau khi tôi hoàn thành tất cả các bản cập nhật?Nhấp nháy trong khi cập nhật các Điều khiển trong WinForms (ví dụ: DataGridView)
Đó chắc chắn là có thể với TreeViews:
myTreeView.BeginUpdate();
try
{
//do the updates
}
finally
{
myTreeView.EndUpdate();
}
Có một cách chung chung để làm điều này với các điều khiển khác, DataGridView nói riêng?
CẬP NHẬT: Rất tiếc, tôi không chắc mình đã đủ rõ ràng chưa. Tôi thấy "nhấp nháy", bởi vì sau khi đơn chỉnh sửa điều khiển được sơn lại trên màn hình, vì vậy bạn sẽ nhìn thấy thanh cuộn thu hẹp vv
thêm điều này trong DataGridView của bạn DoubleBuffered (true); –