这个问题困扰了我一段时间 - 当试图向下滚动面板时,在释放鼠标之前栏不会移动(在其他控件中似乎不是问题)。
在这个论坛http://csharpcode25.appspot.com/question/5080f1624f1eba38a4ca86bf中,用户遇到了同样的问题,并且通过覆盖 WndProc 给出了一个可能的解决方案 - 不确定从 C# 到 VB 的翻译中是否丢失了某些东西,但它只是抛出了一个错误“参数“数字”的类型是“System.IntPtr”,它不是数字。在第一行。有任何想法吗?
谢谢
Public Class Panelx
Inherits Panel
Private Const WM_HSCROLL As Integer = &H114
Private Const WM_VSCROLL As Integer = &H115
Protected Overrides Sub WndProc(ByRef m As Message)
Try
If (m.Msg = WM_HSCROLL OrElse m.Msg = WM_VSCROLL) AndAlso ((CInt(Fix(m.WParam)) And &HFFFF) = 5) Then
' Change SB_THUMBTRACK to SB_THUMBPOSITION
m.WParam = CType((CInt(Fix(m.WParam)) And (Not &HFFFF)) Or 4, IntPtr)
End If
MyBase.WndProc(m)
Catch ex As Exception
EmailError(ex)
End Try
End Sub
End Class