簡體   English   中英

在進行任何更改之前如何處理DatagridView滾動事件

[英]How to handle DatagridView scroll event before it makes any changes

我試圖覆蓋DatagridView上的滾動功能。 (具有固定RowCount的DGV,可在滾動請求時使用新的“滾動”值自行刷新,而不是向下滾動至下一個值)

我需要對事件做出反應,並禁用DatagridView對事件做出反應(使其無法滾動)。

就像是:

protected override void OnScroll(ScrollEventArgs e)
{            
    ProcessScroll(e);

    //Distable DGV processing scroll request
    //base.OnScroll(e); 
}

但是,滾動完成后會發生此事件。 例如,FirstDisplayedScrollingRowIndex此時在滾動后具有新值。

因此,請問有人可以在對此事件進行任何更改之前對其做出反應並使其禁用以進行任何更改嗎?

我不能只捕捉鼠標滾輪事件或檢測預設鍵,因為您可以在通過鼠標選擇單元格的同時滾動瀏覽DatagridView。

謝謝

尚未對此進行測試,但是如何存儲FirstDisplayedScrollingRowIndex的值以及如何“禁用”滾動,只需為其分配先前的值。

來源

編輯:經過測試后,這將使gridview nto滾動,但是滾動條仍在滾動(沒有影響)。 這帶給我下一個建議:
如果您不想允許滾動網格視圖,只需刪除滾動條...

this.gv.ScrollBars = ScrollBars.None;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM