Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Psilon
Master of Orion
Эксперт .NET
5935 / 4834 / 636
Регистрация: 10.07.2011
Сообщений: 14,439
Записей в блоге: 5
Завершенные тесты: 4
#1

Горячие клавиши в приложении не работают - C#

01.04.2012, 23:26. Просмотров 1790. Ответов 6
Метки нет (Все метки)

Здравствуйте. Пишу менюшку для программы, но не получается забить на хоткеи действия. ЧЯДНТ?
C#
1
2
3
4
5
private void MainForm_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape) Close();
            if (e.KeyCode == Keys.F1) ShowHelpButton.PerformClick();
        }
Добавлено через 1 час 27 минут
Неужели никто не подскажет?

В догонку: создаю форму методом form.show(); как мне из этой формы закрыть основную (то есть по кнопке "выход" мне надо закрыть и второстепенное окно, и основное)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 23:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Горячие клавиши в приложении не работают (C#):

Глобальные горячие клавиши не работают через событие KeyDown - C#
Как создать 2 глобальные горячие клавиши, я создал функцию на форме KeyDown и написал туда if(e.Shift){ messageBox.Show("1"); } ...

Как присваивать горячие клавиши к примеру на выполнение нажатие клавиши - C#
Народ. не могу найти, как в студии присваивать горячие клавиши к примеру на выполнение нажатие клавиши? или на пункты меню.. Добавлено...

Горячие клавиши - C#
Как использовать горячие клавиши? К примеру я нажал на shift и выполнилось действие f1.enable = false; А вот если нажал на alt то ...

Горячие клавиши - C#
Добрый день. Появилась необходимость добавить в приложение горячие клавиши, но не простые, а примерно как это сделано в Word/Excel. Это...

Горячие клавиши - C#
Есть форма. На ней 2 панели. Одна для браузера, другая под кнопки. Если сделать так: private void Form1_KeyDown(object sender,...

Горячие клавиши на кнопки - C#
Я так понял, что просто так не получится назначить?? Можно в событии KeyPress. Но там сама форма все перехватывает.. И нужно...

6
nio
5947 / 3353 / 200
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
01.04.2012, 23:33 #2
Цитата Сообщение от Psilon Посмотреть сообщение
по кнопке "выход" мне надо закрыть и второстепенное окно, и основное)?
Application.Exit() - закроет всё приложение

Добавлено через 4 минуты
Цитата Сообщение от Psilon Посмотреть сообщение
Пишу менюшку для программы, но не получается забить на хоткеи действия.
у пунктов меню есть свойство ShortcutKeys, в котором задается реакция на горячие клавиши
1
Psilon
Master of Orion
Эксперт .NET
5935 / 4834 / 636
Регистрация: 10.07.2011
Сообщений: 14,439
Записей в блоге: 5
Завершенные тесты: 4
02.04.2012, 00:24  [ТС] #3
nio,Все, спасибо ,разобрался, msdn помог...

Теперь другой вопрос:
C#
1
2
helpMenuToolStripMenuItem.ShortcutKeys = Keys.F1;
aboutMenuToolStripMenuItem.ShortcutKeys = Keys.F2;
Первый пункт создает форму и все нормально работает.
Второй должен создавать messagebox, но не создает, в чем может быть причина?
C#
1
2
3
4
5
private void aboutMenuToolStripMenuItem_Click(object sender, EventArgs e)
{
string message = "бла-бла";
MessageBox.Show(message, "О программе", MessageBoxButtons.OK, MessageBoxIcon.Information);         
}
Добавлено через 12 минут
И еще: хотел настроить выход из приложения на эскейп ,он ругается, что не так я делаю?
C#
1
exitMenuToolStripMenuItem.ShortcutKeys = Keys.Escape;
0
nio
5947 / 3353 / 200
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
02.04.2012, 09:27 #4
Цитата Сообщение от Psilon Посмотреть сообщение
Второй должен создавать messagebox, но не создает, в чем может быть причина?
не знаю, у меня все работает.
не нужно использовать messageBox, для окна "О программе..." есть специальная форма AboutBox
Цитата Сообщение от Psilon Посмотреть сообщение
хотел настроить выход из приложения на эскейп ,он ругается, что не так я делаю?
Как ругается? Если матом, то это административное правонарушение, вызывай полицию, пускай они разбираются.

А так рекомендовал бы посмотреть в сторону свойства Form.CancelButton
0
Psilon
Master of Orion
Эксперт .NET
5935 / 4834 / 636
Регистрация: 10.07.2011
Сообщений: 14,439
Записей в блоге: 5
Завершенные тесты: 4
02.04.2012, 17:31  [ТС] #5
nio,
Как ругается? Если матом, то это административное правонарушение, вызывай полицию, пускай они разбираются.
А так рекомендовал бы посмотреть в сторону свойства Form.CancelButton
Спс, то что надо.
0
Миниатюры
Горячие клавиши в приложении не работают  
Psilon
Master of Orion
Эксперт .NET
5935 / 4834 / 636
Регистрация: 10.07.2011
Сообщений: 14,439
Записей в блоге: 5
Завершенные тесты: 4
02.04.2012, 18:02  [ТС] #6
А aboutbox мне излишен, мне messagebox за глаза
0
chaleureux
17 / 20 / 7
Регистрация: 24.12.2014
Сообщений: 970
25.05.2015, 23:18 #7
Имеется форма в трее, как можно по нажатию клавиш снова её развернуть ?
0
25.05.2015, 23:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2015, 23:18
Привет! Вот еще темы с ответами:

Глобальные горячие клавиши - C#
Я использую в своей программе горячие клавиши, и появилась потребность сделать их глобальными, что бы когда я нажал на кнопку даже если...

Назначить на кнопку горячие клавиши - C#
Ребята помогите пожалуйста назначить на кнопку горячие клавиши (например Ctrl+Enter). Кнопка выполняет событие. (Простая программа...

Сделать изменяемые горячие клавиши - C#
Доброго времени суток) Помогите пожалуйста сделать изменяемые горячие клавиши, то есть пользователь должен сам выбирать сочетания клавиш...

Кнопки акселераторы(горячие клавиши) - C#
Доброе время суток! Есть такой вопрос, возможно ли сделать кнопки акселераторы для элементов MenuStrip ? Допустим по нажатию сочетания...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru