Member 14172062 Ответов: 1

Как мы можем сделать эффект свойства flatappearance.mouseoverbackcolor кнопки, когда я нажимаю клавишу? (Vb.net)


Я пробую код ниже, но не работает...

Что я уже пробовал:

Private Sub Button1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Button1.KeyPress
        If e.KeyChar = "2" Then

            Button1.FlatAppearance.MouseOverBackColor = Color.AliceBlue
        End If
End Sub

1 Ответов

Рейтинг:
1

Dave Kreskowiak

ОК. Так что же, движение нависает над кнопкой, когда вы нажимаете клавишу? Если нет, то вы не увидите никаких изменений!

Неясно, что вы хотите, чтобы произошло, когда вы нажимаете клавишу. Если вы хотите, чтобы фон кнопки менялся при нажатии клавиши, независимо от положения мыши, то вам необходимо изменить свойство BackColor кнопки.


Member 14172062

если мы установим свойство flatappearance.mouseoverbackcolor на панели свойств, когда мышь находится выше кнопки, цвет фона кнопки изменится. Можем ли мы сделать то же самое с помощью клавиши с клавиатуры??? Как калькулятор в Windows 10.

Dave Kreskowiak

ОК. Цвет фона кнопки не изменится, если только курсор мыши не будет сидеть на кнопке!

Кроме того, для того, чтобы изменение было сделано, кнопка должна иметь фокус ввода при нажатии клавиши 2. Это означает, что граница кнопки будет иметь немного более толстую границу вокруг нее. С помощью мыши нажмите кнопку Button1 или с помощью клавиатуры нажмите Tab, пока более толстая граница не окажется на кнопке Button1. Это даст кнопке фокус ввода. Нажмите клавишу 2. Это изменит цвет фона перемещения кнопки hove, но вы не увидите этого изменения, если курсор мыши не находится внутри границы Button1.

Вот как работает ваш существующий код. Вы обрабатываете событие нажатия клавиши кнопки, и это то, что управляет этим поведением. Если вы хотите, чтобы ваше приложение делало что-то другое, вам придется подробно объяснить, что это такое.