399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
1

Привязка нажатия клавиш к методам

28.12.2010, 17:03. Показов 10910. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, возник вопрос по использованию горячих клавиш в C#.
  • Можно ли закрыть форму по нажатию, например, Escape? Что бы на крестик не нажимать.
  • Можно ли вообще к какому-то методу приязать конкретную кнопку или их сочетание?
  • Не знает ли кто, где можно в общем почтиать о горячих клавишах в СиШарп. (Хоть ссылку на тот же MSDN)?
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2010, 17:03
Ответы с готовыми решениями:

Привязка к исполняемому файлу и нажатия клавиш
Всем привет! Прошу помочь пораскинуть мыслями, может вы сможете что-то подсказать) В общем...

Привязка нажатия клавиш к buttons
Всем доброе утро! Подскажите, как можно привязать нажатия клавиш к buttons, которых много на...

Перехватчик клавиш + эмуляция нажатия клавиш
Здравствуйте! Срочно нужна помощь! Моя программа работает в фоновом режиме. Мне нужно: 1) чтобы...

Калькулятор, привязка клавиш
В общем, такой вопрос: пишу калькулятор, вообще он уже рабочий, кроме одного нюанса - в форме есть...

7
Заблокирован
28.12.2010, 17:10 2
C#
1
2
3
4
5
6
7
8
9
10
public Form1()
        {
            this.KeyUp += new KeyEventHandler(Form1_KeyUp);
        }
 
        void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
                this.Close();
        }
2
11 / 6 / 0
Регистрация: 24.12.2010
Сообщений: 22
28.12.2010, 17:13 3
Нужно определиться что есть горячие клавиши
Это просто поведение программы на данные комбинации клавиш. Нет такого волшебного места по дефолту, которое их обрабатывает. Вам придётся написать свой обработчик(и) для этого.
Другое дело, что надо написать так, чтоб комбинации были не просто вшиты в приложение, а предусмотреть возможность конфигурирования.
0
Заблокирован
28.12.2010, 17:21 4
C#
1
2
3
4
5
        void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            if(e.Alt && e.KeyCode == Keys.E)
                this.Close();
        }
это через Alt+E
1
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
28.12.2010, 17:31  [ТС] 5
Dzhej-Dzhej, добавил обработчик KeyUp к форме, пробовал вставлять коды - и ничего...
0
Заблокирован
28.12.2010, 17:40 6
если у вас на форме есть контрол, он может перехватить управление
если пользуетесь десигнером, создайте обработчик на KeyUp в свойствах формы
0
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
28.12.2010, 17:44 7
Etrimus, переопредели ProcessDialogKey в форме
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        protected override bool ProcessDialogKey ( Keys keyData ) {
            if (ckey(keyData, Keys.Control, Keys.A)) // Комбинация CTRL+A
                ; // Выполняем какие-либо действия
 
            return base.ProcessDialogKey(keyData);
        }
        /// <summary>
        /// Проверяет вхождение заданных комбинаций (keys) в исходную (keyData).
        /// </summary>
        /// <param name="keyData">Исходная комбинация.</param>
        /// <param name="keys">Заданные комбинации.</param>
        /// <returns>Возвращает True если все заданные комбинации входят в исходную, иначе False.</returns>
        bool ckey ( Keys keyData, params Keys[] keys ) {
            if (keys == null) return false;
 
            for (int i = 0; i < keys.Length; i++)
                if ((keyData & keys[i]) != keys[i])
                    return false;
 
            return true;
        }
1
826 / 717 / 110
Регистрация: 06.10.2010
Сообщений: 825
Записей в блоге: 1
28.12.2010, 19:42 8
В MenuStrip можно задавать сочетания клавиш на пункты меню без какого-либо дополнительного кода.
0
28.12.2010, 19:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2010, 19:42
Помогаю со студенческими работами здесь

Привязка клавиш к Buttons
Делал пианино, вроде все получилось, правда делал в WinApi который долго запускает wav-файлы,...

Привязка горячих клавиш
Нужно привязать к функции горячую клавишы (ctrl+z), что бы в итоге после нажатия функция...

Привязка события к комбинациям клавиш
Ребят, помогите пожалуйста, как мне сделать чтобы , вместо того когда я вводил число , а потом уже...

Привязка горячих клавиш к кнопке button
Много искал в интернете, как привязать горячую клавишу &quot;alt+1&quot;, да так, чтобы когда форма была не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru