#vb.net
#vb.net
Вопрос:
У меня есть HScrollBar в форме в VB.Net 2012 год. Я бы хотел, чтобы ползунок возвращался к нулю при отпускании кнопки мыши. Но у HScrollBar и VScrollBar нет событий наведения курсора мыши. Я могу несколько имитировать поведение, используя MouseLeave, но это неточно и проблематично.
Я знаю, что класс может быть расширен, но я не знаю, применимо ли это в данном случае. Можно ли расширить классы полосы прокрутки, чтобы добавить событие MouseUp? Если да, то как?
Вот пример моего кода:
Public Class Form1
Private Sub HScrollBar1_MouseLeave(sender As Object, e As EventArgs) Handles HScrollBar1.MouseLeave
HScrollBar1.Value = 0
End Sub
End Class
Комментарии:
1. Вы пробовали это
MouseCaptureChanged
событие?
Ответ №1:
Комбинация MouseCaptureChanged
ValueChanged
событий и сработала для меня:
Private Sub HScrollBar1_MouseCaptureChanged(sender As Object, e As EventArgs) Handles HScrollBar1.MouseCaptureChanged
If Not HScrollBar1.Capture Then
HScrollBar1.Value = 0
End If
End Sub
Private Sub HScrollBar1_ValueChanged(sender As Object, e As EventArgs) Handles HScrollBar1.ValueChanged
If Not HScrollBar1.Capture Then
HScrollBar1.Value = 0
End If
End Sub