none
Проблема с меню RRS feed

  • Вопрос

  • Хочу реализовать зумирование через меню, для свойства ShortcutKeys элемента меню типа ToolStripMenuItem установил значение Ctrl+Oemplus, ожидая, что при нажатии кнопок Ctrl + + (+ это кнопка на цифровой клавиатуре) будет происходить увеличение, но обработчик события Click для этого элемента меню не срабатывает, установил свойство ShortcutKeys в Ctrl+NumPad0 для пункта меню возвращающего форму в начальное положение все работает, для Ctrl + - обработчик события Click тоже не срабатывает, подскажите в чем тут проблема?
    8 февраля 2017 г. 9:24

Ответы

  • каком списке? Константа Add, несомненно, есть в перечислении Keys. Если ее нельзя устнавить через конструктор, пропишите в коде.

    "но тут при нажатии Alt+Ctrl++ или Shift+Ctrl++ функция ZoomIn  так же будет запускаться"

    проверить, что e.Alt равно false

    • Помечено в качестве ответа SergejS 9 февраля 2017 г. 7:42
    8 февраля 2017 г. 15:23

Все ответы

  • В том, что "Numpad +" это Keys.Add, а не Keys.Oemplus.

    Вообще, ShortKeys не всегда работает как надо, для не цифровых/буквенных клавиш. Просто установите Form.KeyPreview=true и обрабатывайте событие KeyDown в форме, если не получается.


    • Изменено VadimTagil 8 февраля 2017 г. 14:16
    8 февраля 2017 г. 14:16
  • для свойства ShortcutKeys нельзя установить заначение Add или Subtract их нет в списке!
    я реализовал функционал так:
    Private Sub MainForm_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
        If e.Control And (e.KeyCode = Keys.Add) Then
            Me.ZoomIn()
        ElseIf e.Control And (e.KeyCode = Keys.Subtract) Then
            Me.ZoomOut()
        ElseIf e.Control And (e.KeyCode = Keys.D0) Then
            Me.NormalState()
        End If
    End Sub
    но тут при нажатии Alt+Ctrl++ или Shift+Ctrl++ функция ZoomIn  так же будет запускаться, как и при нажатии Ctrl++
    8 февраля 2017 г. 14:36
  • каком списке? Константа Add, несомненно, есть в перечислении Keys. Если ее нельзя устнавить через конструктор, пропишите в коде.

    "но тут при нажатии Alt+Ctrl++ или Shift+Ctrl++ функция ZoomIn  так же будет запускаться"

    проверить, что e.Alt равно false

    • Помечено в качестве ответа SergejS 9 февраля 2017 г. 7:42
    8 февраля 2017 г. 15:23
  • в дизайнере Visual Studio 2015 для свойства ShortcutKeys элемента меню значения Add и Subtract недоступны!
    8 февраля 2017 г. 19:18