Я нахожусь на vb.net 2010. В моем приложении winforms у меня есть обработчик события clickItem, который может быть вызван щелчком мыши или сочетаниями клавиш. Как я говорю в моем обработчике был вызван из мыши против ярлыка клавиатуры ключаидентифицировать щелчок мыши и сочетание клавиш по элементу меню
Private Sub myToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles myMenuItemClick
Dim MouseClicked As Boolean
MouseClicked = ?? how to make the distinction how handler was called ??
If MouseClicked Then
lblClicked.Text = "Mouse Click"
Else
lblClicked.Text = "Key board shortcut"
End If
End Sub
@Plutonix: Я хочу, чтобы какое-то действие выполнялось, только если оно было вызвано с помощью сочетания клавиш. Как бы вы сделали различие, можете ли вы указать больше с событием меню – glant
, если вы хотите, чтобы произошли разные вещи, вы должны использовать 2 метода, один из которых может вызвать другое (менее запутанное для пользователя). Вы можете * установить флаг в событии dropdownopening, которое будет установлено при нажатии. но они также могут использовать клавишу Alt, чтобы открыть меню и стрелку для выбора или открыть меню верхнего уровня с помощью клавиши короткого вырезания, которая откроет меню и установит флаг. – Plutonix
Будучи пользователем приложения, я был бы очень растерян и раздражен при разных способах сочетания клавиш и щелчка мышью. Как насчет сенсорных экранов? Имеют ли они и другое поведение? –