2017-09-05 35 views
0

我有一個有許多子控件的面板,並且啓用了Autoscroll。點擊在滾動條結果的頂部或底部的箭頭只有幾個像素的微小運動:更改數量滾動條在面板上移動

Panel with the down arrow clicked

可移動的量來控制,並設置爲一個更大的價值?使用.NET Compact Framework。

EDIT 1

在.NET的完整版本時,VerticalScroll.SmallChangeVerticalScroll.LargeChange屬性可以被直接訪問。但是這些在Compact Framework中不可用。所以問題是如何在Compact Framework中做到這一點?

EDIT 2 通過查看面板的AutoScrollPosition.Y,我發現SmallChange參數設置爲5個像素。這必須是Compact Framework中Panel控件的默認值。對於我的觸摸屏應用程序,這需要像70像素。

+0

它有沒有'VerticalScroll'屬性,您可以調整SmallChange和LargeChange? – icebat

+0

好的電話。剛剛檢查完整的.NET和'VerticalScroll.SmallChange'和其他屬性可用編程方式...但這些不是在精簡版框架中可用。所以我想我的下一步是找出如何訪問這些屬性。 – AlainD

+0

您也可以嘗試'VScrollBar'屬性。你需要創建一個派生自Panel的類來訪問它,但它應該很簡單。 – icebat

回答

0

經過大量研究後,我得出了這樣的結論:在精簡框架中這是不可能的。這個答案是不針對特定的問題,而是從this answer by Cyril Gupta

  • 適應一個很好的解決方法創建一個新的「家長」面板,並把舊的面板上該家長
  • 調整孩子讓父母的小面積是可見的。在此區域放置UpDown按鈕。
  • 在子面板上禁用AutoScroll
  • 設置子面板的高度,使滾動條消失。請注意,當然,並非所有控件都可見。
  • 當在父面板上單擊其中一個按鈕時,請更改子項的Top屬性。

很好地工作!