嘿,我试图控制vb.net面板框的水平滚动。的问题是,我可以用下面的代码似乎只是移动它只是一点点:面板滚动可编程
Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll
panSS.HorizontalScroll.Value = HScrollBar1.Value
End Sub
的形式宽度是800,而板本身伸展1000+(但只有800像素被示出)。我只是不知道如何去使用HScrollBar来移动它,就像它在自动滚动功能上一样。
任何帮助将是伟大的。
谢谢!
大卫
更新
也试过这样做的,研究小组将没有移动:
Dim range = HScrollBar1.Maximum - HScrollBar1.LargeChange + HScrollBar1.SmallChange
Dim panelPos = (panSS.AutoScrollMinSize.Width - panSS.Width) * e.NewValue/range
panSS.AutoScrollPosition = New Point(panelPos, 0)
感谢您的回复,但代码似乎并没有移动面板? **用此代码更新了OP ** – StealthRT
嗯,当我测试它时,它会滚动我的面板。 AutoScroll = true,AutoScrollMinSize = {1000,0}。当然,我不知道你的面板是什么样子。不要保守秘密。 –
明白了。正如您在上一篇文章中所述,我忽略了AutoScrollMinSize的大小。现在所有的动作。 :o)谢谢,汉斯 – StealthRT