我试图覆盖DatagridView上的滚动功能。 (具有固定RowCount的DGV,在滚动请求时使用新的"自动刷新"值而不是向下滚动到下一个值)
我需要对事件做出反应并禁用DatagridView以对该事件做出反应(禁用它以进行滚动)。
类似的东西:
protected override void OnScroll(ScrollEventArgs e)
{
ProcessScroll(e);
//Distable DGV processing scroll request
//base.OnScroll(e);
}
但是滚动完成后会发生此事件。例如,此时FirstDisplayedScrollingRowIndex在滚动后具有新值。
所以,任何人都可以知道如何在进行任何更改之前对此事件作出反应,并禁用它以进行任何更改吗?
我无法捕捉鼠标滚轮事件或检测到预设的键,因为您可以在通过鼠标选择单元格时滚动DatagridView。
谢谢
答案 0 :(得分:0)
这未经过测试,但是如何存储FirstDisplayedScrollingRowIndex
的值并且如果要“禁用”滚动,只需为其指定前一个值。
(source)
修改强>
测试后,这将使gridview nto滚动,但滚动条仍然滚动(没有影响)。
这让我想到了下一个建议:
如果您不想允许滚动网格视图,只需删除滚动条...
this.gv.ScrollBars = ScrollBars.None;