如何覆盖Microsoft的datagridview以允许在VB.NET中进行反缓冲?

Mic*_*ins 11 vb.net datagridview

我的datagridview在加载时闪烁并且非常慢.我反映了Microsoft的datgridview,并发现有一个后台缓冲区属性,从winForm中看不到.我该如何设置此属性?

Jim*_*ark 8

出于某种原因,Microsoft将DoubleBuffered属性放在那里,但不允许我们打开它.您可以使用SubClassing劫持系统.

Public Class MyDataGridView
   Inherits DataGridView

   Sub New()  
      MyBase.New()

      Me.DoubleBuffered = True
   End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

在你的程序中,你可以然后构建它,新的类应该在你的工具箱中弹出.在那里,你可以自由地将它拖出来并使用它,好像它是一个具有更好绘图功能的普通DataGridView.

希望这可以帮助.


小智 5

我会使用listview,它没有像datagridview那样的问题.