0

この問題はしばらくの間私を悩ませてきました.Panelを下にスクロールしようとすると、マウスが離されるまでバーが動かなくなります.(他のコントロールでは問題ではないようです.)

このフォーラムhttp://csharpcode25.appspot.com/question/5080f1624f1eba38a4ca86bfでは、ユーザーは同じ問題を経験しており、WndProc をオーバーライドすることで可能な解決策が提供されています。C# から VB への変換で何かが失われたかどうかはわかりませんが、エラー '引数 'Number' の型は '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
4

1 に答える 1