我有一个带有文本框的winforms VB.NET应用程序,其中包含一个内存地址列表和一个垂直滚动条。我希望能够根据用户在滚动条中单击或拖动的位置滚动文本框。例如:
如果用户点击了滚动条的上/下箭头部分,那么我希望滚动条值改变1(小改变值)。
如果点击'频道'(上/下箭头和拇指之间的部分),那么我想滚动一些计算的数量。
如果拖动拇指,我只想使用滚动条的值。 (大变化值)
毫无疑问,我在这里遗漏了一些明显的东西!
答案 0 :(得分:0)
据我所知,VScrollBar只有SmallChange
和LargeChange
属性进行值设置..
仅供样品使用..
VScrollBar1.Minimum = 0
VScrollBar1.Maximum = 100
VScrollBar1.SmallChange = 1
VScrollBar1.LargeChange = SetValue()
Function SetValue() as Integer '----> result must be < VScrollBar1.Max
'Return Integer value
End Function
答案 1 :(得分:0)
要了解用户如何点击ScrollBar,请使用Scroll事件并查看ScrollEventArgs的Type属性:
Private Sub VScrollBar1_Scroll(sender As System.Object, e As System.Windows.Forms.ScrollEventArgs) Handles VScrollBar1.Scroll
If e.Type = ScrollEventType.SmallIncrement Then
'User clicked the right (or bottom) scroll arrow
End If
If e.Type = ScrollEventType.SmallDecrement Then
'User clicked the left (or top) scroll arrow
End If
If e.Type = ScrollEventType.LargeIncrement Then
'User clicked the area between the right (or bottom) scroll arrow and the thumb
End If
If e.Type = ScrollEventType.LargeDecrement Then
'User clicked the area between the left (or top) scroll arrow and the thumb
End If
End Sub
请注意,这些滚动类型还可以指示用户是否按下了键盘键进行滚动。例如,向上(或向左)箭头键将具有SmallDecrement类型。