所以我必须在它的数据的56行的一个DataGridView。 当我选择的任何行,然后滚动它关闭屏幕,然后重新打开,从选定行的原始数据变成与其他行的数据合并 - 似乎取决于我是否向上/向下滚动或使用滚动条或鼠标滚轮(我怀疑上页/下键和方向键将产生类似的效果也可以)。 在网上搜索只生产类似情况一个结果,当用户水平滚动......有人建议他使用双缓冲,但基于反射的代码不仅造成我选择行开启全黑:
Imports System.Reflection
Module DataGridViewExtensions
<System.Diagnostics.DebuggerStepThrough()> _
<System.Runtime.CompilerServices.Extension()> _
Public Sub DoubleBuffered(ByVal sender As DataGridView, ByVal Setting As Boolean)
Dim dgvType As Type = sender.[GetType]()
Dim pi As PropertyInfo = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance Or BindingFlags.NonPublic)
pi.SetValue(sender, Setting, Nothing)
End Sub
End Module
我已经尝试设置DGV VirtualMode真假也不有差别。 任何有识之士将是巨大的!