【发布时间】:2012-11-23 21:02:28
【问题描述】:
我有一个带有自动滚动功能的面板,我需要更改鼠标滚动行数
我的意思是:
(西班牙语鼠标属性,抱歉)
但我会在我的程序中为我的面板更改它,obvius,而不是在 SO!
PS:例如 Winamp 媒体播放器有一个选项。
我在任何地方都找不到信息,请帮忙。
更新
我的滚动条是一个带有“AutoScroll”属性的面板
我的活动是这样的:
Private Sub Panel1_MouseScroll(sender As Object, e As MouseEventArgs) Handles Panel1.MouseWheel
Panel1.Invalidate()
End Sub
这是我的面板的内容:
' Checkbox drawing
Public Sub updatecheckboxes()
' delete the old checkboxes
Panel1.Controls.Clear()
' create the new checkboxes
Dim filesystem = CreateObject("Scripting.FileSystemObject")
Dim ThisDir = filesystem.GetFolder(My.Settings.folderpath)
Dim i As Int32 = 0
Dim pos As Int32 = 10
For Each folder In ThisDir.Subfolders
Array.Resize(mcheck, i + 1)
mcheck(i) = New CheckBox
With mcheck(i)
.AutoSize = True
.Location = New Point(10, pos)
.Name = "CheckBox" & i + 1
.Text = folder.Name
End With
Me.Panel1.Controls.Add(mcheck(i))
AddHandler mcheck(i).CheckedChanged, AddressOf LlamadaCheckBox
i += 1
pos += 20
Next
End Sub
由于面板内的失真效果,我想更改滚动行数,如果我像 Windows SO 属性的图像那样使用“一个 scoll 页”或“一次滚动 10 个”,那么我可以修复它!
【问题讨论】:
-
您想将
Mouse Properties -> Wheel -> The following number of lines at a time更改为您程序中的任意号码? -
我有一个面板,当我在我的应用程序中使用鼠标滚轮时,我想滚动“X”行,例如向下或向上 20 行,谢谢您的评论和您的回答
-
现在它根本不滚动,对吗? (这是我正在经历的,即默认面板不会在 MouseWheel 上滚动)
-
您正在尝试模仿CheckedListBox 的功能。请不要重新发明轮子,而是使用原生组件。从长远来看,你的头痛会少很多。
标签: vb.net scroll scrollbar mouseevent mousewheel