Чтобы код заработал, выставьте значение True в параметре KeyPreview формы у которой отключаете сочетании клавиш.
Вот и реализация данной задумки.
1) Вы проверяете все сочетания клавиш в форме, если наше сочетание обнаружено то altF4 выставляем в true.
2) При закрытии проверяем altF4,было ли сочетание клавиш. после чего вызываем отмену всех действий с помощью "e.Cancel = true;".
Вот и реализация данной задумки.
1) Вы проверяете все сочетания клавиш в форме, если наше сочетание обнаружено то altF4 выставляем в true.
2) При закрытии проверяем altF4,было ли сочетание клавиш. после чего вызываем отмену всех действий с помощью "e.Cancel = true;".
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (altF4) { if (e.CloseReason == CloseReason.UserClosing) e.Cancel = true; altF4 = false; } } private bool altF4 = false; private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.Alt && e.KeyCode == Keys.F4) { MessageBox.Show(""); altF4 = true; } }
Исходник скачиваем тут: http://csharpcoderr.rusfolder.net/files/38306689
Если сильно необходимо сделать так, чтобы данное сочетание ALT+F4 не работало временно, то можно сделать следующим образом.
ОтветитьУдалить1) Устанавливаем программу Active Keyboard (она конечно старая но не думаю что будут проблемы с поиском).
2) Когда заходим в программу нажимаем клавишу "Макрос", откроется окно "Новый макрос";
3) После задаём нужные параметры, в пункте "Тип команды" выбираем "Управление окнами", далее в нижнем пункте "Команда" выбираем "Свернуть окно" или любую подходящую вам, после в пункте "Выбор горячих кнопок" выбираем левой клавишей мыши "левый ALT и F4 получается так (ALT+F4)";
4) После того как мы задали основные параметры появится сообщение рядом с клавишей "OK", "Внимание: системная комбинация" игнорируем сообщение и нажимаем "ОК" и после наш макрос готов, можете пробовать.
Обычно при включоной программе и после того как мы назначили макрос, клавиши "ALT+F4" вообще не будут реагировать, если отключить программу всё вернётся на круги своя. Вот и всё, пользуйтесь на здоровье)
Если что прилагается картинка с таким же описанием действий.