2011-09-02 61 views
1

我有GridControl(DevExpress)的形式。我想在垂直滾動條的位置結束時調用一些方法。這可能嗎?謝謝。如何知道當滾動條位置到底

編輯 我的解決方案(不完全解決問題,但對我工作的偉大):

void gvDisplay_TopRowChanged(object sender, EventArgs e) 
{ 
    if (gvDisplay.IsRowVisible(gvDisplay.RowCount - 1) == RowVisibleState.Visible) 
    { 
     _lastFocusedRowHandle = gvDisplay.RowCount; 
     LoadNextPortionOfData(); 
    } 
} 
+0

的DevExpress配備了一個巨大的文檔。你嘗試了什麼? –

+0

我看到了doc。但是,沒有像ScrollChanged這樣的事件。 – user348173

+0

然後至少啓發我們你在哪裏查找的東西。不要求我們做同樣的錯誤;總是說出你已經嘗試過的東西。 –

回答

0

我沒有使用過的DevExpress之前,但要怎樣處理這個應該還是方式無論您是否需要創建自己的擴展事件,都是相同或相似的。以下是默認的窗體將會做什麼,如果devexpress在這個上延伸,那麼應該沒有問題。

處理此操作將由觸發的事件完成。你正在使用的組件類應該有一個Scroll事件,當滾動條的位置改變時這個事件被調用。如果你創建一個新的組件類,並讓它從你想要的組件類繼承,那麼你可以添加你想要的功能。在這個新的組件類中,您需要擴展事件滾動以檢查滾動條的Value屬性。當使用這個新的組件類時,它仍然具有原來的所有功能,但現在添加了新功能。

更多閱讀: 滾動條類 http://msdn.microsoft.com/en-us/library/t2htecew.aspx

滾動條滾動事件 http://msdn.microsoft.com/en-us/library/system.windows.forms.scrollbar.scroll.aspx

+0

謝謝,但它非常複雜的方式。我想找到更簡單的方法。 – user348173

+0

這個過程非常簡單。爲了做你想做的事情**將**需要擴展一個事件來調用該方法。在創建組件類之後,從一個類繼承很容易,你可以看到當啓動一個默認窗口窗體'public partial class Form1:Form'時,''Form'被標記的意思是Form1從Form類繼承。之後,擴展事件來調用一個方法就像6行代碼,其中大部分是if語句來檢查滾動條的位置。如果devexpress組件從默認窗體窗體繼承,那麼它更容易。 –

+0

非常感謝您的解釋。看看我是如何做到這一點的,如果你有興趣的話。 – user348173