Чтобы код заработал, выставьте значение 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" вообще не будут реагировать, если отключить программу всё вернётся на круги своя. Вот и всё, пользуйтесь на здоровье)
Если что прилагается картинка с таким же описанием действий.