2009-08-24 144 views
4

我創建一個用戶控件,基本上是一個面板(裏面有隨機內容),我需要能夠使用按鈕(上下)而不是滾動條來滾動上下面板。WinForm面板無滾動條滾動?

我必須這樣做的原因是因爲該程序將用於觸摸屏顯示器上,我們需要大按鈕而不是醜陋的小滾動條。

我一直在與VerticalScrollbar屬性搞亂,而且他們都沒有做任何事情。我注意到,如果我將AutoScroll設置爲false,AutoScrollPosition實際上會顯示座標,除了它應該是什麼的否定。另外,我注意到了panel.VerticalScrollbar.Visible = true;只有在放置在構造函數之外時纔會工作。這是有原因的嗎?

基本上,WinForms的滾動條對我來說很混亂(越野車?)。有沒有人知道一個很好的方式來上下滾動按鈕編程面板(我不關心,如果我需要一個不可見的滾動條)。

謝謝! = d

回答

5

讓你的用戶控件一個普通用戶控件(即從用戶控件,而不是繼承小組),並放置在面板上的用戶控件。將任何內容/控件放在內部面板上,然後更改面板的左側和頂部屬性,以便不移動滾動條。您也可以將按鈕添加到您的UserControl以處理內部面板的移動。

但是,一個更簡單的方法可能是使用真正的寬/高滾動條,並將它們的Thumbwidth(我認爲這是屬性)設置爲相同的大值 - 這將產生易於使用的滾動條手指。據我所知,沒有辦法與出現與自動滾動面板上設置爲True滾動條要做到這一點,所以你仍然需要使用我上面提到的方法(與內板坐在你的用戶控件),並添加滾動條自己動手。

我同意,在Windows滾動條吸,所以雖然我贊成剛纔使用標準的控制,每個人都來的很一般,我看不出有什麼毛病滾動自己在這種情況下。

+0

嘿,謝謝你偉大的答案MusiGenesis! 我覺得移動面板的位置是最簡單的方法。不過,我想避免這樣做,因爲面板的尺寸將基於它裏面的東西,現在我必須做更多的工作來找出面板和東西的尺寸。儘管如此,這似乎是我將要採取的道路。再次感謝! – Alex 2009-08-25 15:36:20