2015-07-30 2 views
0

Я хочу сделать событие мыши зависания, когда мышь находится над кнопкой Я хочу изменить цвет кнопки текста и размер шрифта, у меня есть попробовать этот код, но не работает:мышь парит событие

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 
Command1.ForeColor.MediumBlue() 
    Command1.FontSize = 10 
End Sub 

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 
Command1.ForeColor.White() 
    Command1.FontSize = 8 
End Sub 

Может ли кто-нибудь дать мне предложение у меня есть поиск в Google и попробовать разные способы с обработчиком событий мыши, но он не работает.

+0

Пожалуйста, добавьте тег '' winforms' или wpf', в соответствии с технологией форм вы используете. – miroxlav

ответ

2

Во-первых, вместо того, чтобы отслеживать каждое движение мыши, вы можете рассчитывать на MouseEnter и MouseLeave событий кнопки.

Во-вторых, не забудьте добавить пункт Handles <Control>.<Event> при объявлении процедур обработки событий.

Результат:

Private Sub Command1_MouseEnter(sender As Object, e As EventArgs) _ 
Handles Command1.MouseEnter 
    Command1.FontSize = 10 
End Sub 

Private Sub Command1_MouseLeave(sender As Object, e As EventArgs) _ 
Handles Command1.MouseLeave 
    Command1.FontSize = 8 
End Sub 

Также, пожалуйста, не забывайте, что некоторые пользователи предпочитают контроль клавиатуры. Это означает, что

  1. Вы можете оборудовать кнопку с ускорителем.

    Command1.Text = "&Launch" (ныне Alt + L активирует кнопку)

    Примечание: ускоритель символов для является &, для является _.

  2. Вы можете сделать свой вход/выход эффект также, когда кнопка получает/теряет фокус клавиатуры (фокус перемещается с помощью Tab и Сдвиг + Tab ключ).

1

Вы можете попробовать сделать ваши изменения в MouseEnter и MouseLeave

Private Sub RightButton_MouseEnter(sender As System.Object, e As System.EventArgs) Handles RightButton.MouseEnter 
     RightButton.ForeColor = Color.AliceBlue 
     RightButton.Font = New Font(RightButton.Font, 12) 
    End Sub 

    Private Sub RightButton_MouseLeave(sender As System.Object, e As System.EventArgs) Handles RightButton.MouseLeave 
     RightButton.ForeColor = Color.White 
     RightButton.Font = New Font(RightButton.Font, 10) 
    End Sub 
Смежные вопросы