Delphi 2007.
我有一个TGrid,行数超过屏幕可显示的范围,而且网格的高度使得底部有一行被部分绘制。当我点击这个部分绘制的行时,它会通过Grids.pas中的“ClampInView”过程跳到完全可见状态。但是它并没有停止。由于鼠标现在位于新的部分绘制的行上,那一行也会跳起来。
最终效果是,点击部分绘制的行会开始选择垂直列中的单元格,并一直旋转到底部(或者直到你松开鼠标)。
我在一个新的winforms项目中复制了这个问题,只有一个带有100行的网格和没有代码,因此我非常确定这不是我在代码方面做错了什么。
这对我很糟糕,因为我在真实代码中的表单具有拖放类型的行为,因此点击并在大约0.1秒后释放部分绘制的行将选取单元格中的项目并将其放置在下面约50行。这绝对不是你点击单元格时期望发生的事情。
有什么建议如何修复/解决这个问题吗?