2010-07-07 48 views
0

我有一個VB.NET窗體與分離器控件,我想保存它在程序運行之間的位置。我目前正在處理SplitterMoved事件並存儲SplitterDistance。然後在程序啓動時,我將SplitterDistance設置爲保存的值。僅當用戶移動分離器時纔會觸發的事件?

但是,有時程序會調整分離器的大小,引發SplitterMoved事件並覆蓋保存的距離。我在選項卡控件中的多個選項卡上有幾個分隔符,並且在用戶第一次進入新選項卡時,SplitterMoved事件觸發。

是否有一個事件可以使用,只有當用戶移動分離器時纔會觸發,而不是在程序移動分離器時觸發?我嘗試了MouseUp,但是當事件觸發時,新的SplitterDistance尚未設置。

回答

0

不,沒有單獨的事件,因爲拆分器已將移動。

鑑於分割器應該與之前的位置相同,它不應該更改已存儲的值。您是否正在檢查sender對象以確保您正在更新正確的分離器位置?

0

SplitterEventArgs提供了分離器座標和鼠標座標。

我假設非用戶煽動SplitterMoved事件,鼠標座標將超出範圍。

+0

SplitterEventArgs具有相同的參數,它不依賴於是否由用戶或大小更改觸發。 – qub1n 2014-03-24 15:33:56

相關問題