Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407

Перехват клавиш не работает при наличии контролов

02.05.2012, 14:36. Показов 1236. Ответов 7

Студворк — интернет-сервис помощи студентам
Искал ответа в нете по перехвату и блокировнке Alt+F4 и нашел действенный способ:

На голую форму :

VB.NET
1
2
3
4
5
    Public Sub Cancel(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Me.KeyDown
        If e.Control Or e.Alt Or e.Shift Or e.KeyCode = 13 Or e.KeyCode = 91 Or e.KeyCode = 92 Then
            e.SuppressKeyPress = True
        End If
    End Sub
Отлично почти все. Но как только добавить контрол, а я использую label, textbox, button, так сразу же этот метот не работает.

Как это иправить? И можно ли вообще?
Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.05.2012, 14:36
Ответы с готовыми решениями:

Не работает перехват сочетания клавиш
private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.Modifiers == Keys.Alt && e.KeyData == Keys.C) ...

Нажатие клавиш вне формы (глобальный перехват сочетания клавиш)
Всем доброго времени суток! Задумал сделать значок раскладки клавы, но беда в том, что если потерян фокус приложения, то значок не...

Не работает ORDER BY при наличии where
SELECT o.name,r.offer_id, COUNT(DISTINCT(CASE WHEN ch.status IN ('3','2','9') THEN request_id END)) AS 'all', COUNT(CASE WHEN...

7
Крутой форумчанин
154 / 154 / 8
Регистрация: 09.01.2011
Сообщений: 298
02.05.2012, 15:00
Цитата Сообщение от abbat81 Посмотреть сообщение
действенный способ:
У формы св-во KeyPreview = True

хм. А CTRL+ESC, а WINDOWS+D, а CTRL+SHIFT+ESCAPE, и ещё десятки комбинаций?
1
 Аватар для PAnT0P
1492 / 587 / 107
Регистрация: 26.03.2012
Сообщений: 1,039
02.05.2012, 15:00
VB.NET
1
Me.Keypreview = True
1
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
02.05.2012, 15:31  [ТС]
Цитата Сообщение от cergew Посмотреть сообщение
У формы св-во KeyPreview = True

хм. А CTRL+ESC, а WINDOWS+D, а CTRL+SHIFT+ESCAPE, и ещё десятки комбинаций?
Это помогло.
А как быть с перечисленными комбинациями?
Вообще, есть ли способ уберечся от этих злостныъ хот-кеев?
0
 Аватар для PAnT0P
1492 / 587 / 107
Регистрация: 26.03.2012
Сообщений: 1,039
02.05.2012, 15:32
Вирус - блокировщик что ль пишешь?
0
Крутой форумчанин
154 / 154 / 8
Регистрация: 09.01.2011
Сообщений: 298
02.05.2012, 15:52
Вряд-ли "вирус", т.к. dotnet фреймворк далеко не везде ещё встречается, хотя с каждым днём всё чаще и чаще.

Ну, для начала, можно например вместо explorer.exe в реестре один ключик исправить на путь к своему .ехе; посмотри как вирусы блокираторы лечить - узнаешь куда прописываются.
0
 Аватар для abbat81
33 / 33 / 3
Регистрация: 20.07.2011
Сообщений: 407
02.05.2012, 16:36  [ТС]
Цитата Сообщение от PAnT0P Посмотреть сообщение
Вирус - блокировщик что ль пишешь?
Для инет-клуба локер. Им нужно накрыть екран по истечении предоплаченого времени
0
 Аватар для PAnT0P
1492 / 587 / 107
Регистрация: 26.03.2012
Сообщений: 1,039
02.05.2012, 16:48
Прибивай Explorer, после проплаты снова загружай

Добавлено через 2 минуты
А еще лучше создавай новый рабочий стол
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2012, 16:48
Помогаю со студенческими работами здесь

Не работает система при наличии xorg.conf
У меня произошло это так: я установил non-free драйвер nvidia 390xx, но я удивился, что nouveau в lsmod остался. Дальше я ввёл...

QDataWidgetMapper -> submit() - не работает при наличии внешних ключей
Добрый лень. Такой вопросик: есть некий диалог, с полями для заполнения и комбобоксом для выбора значения по внешнему ключу в таблице. ...

Не работает свойство KeyDown при наличии контроллов на форме
Код: private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode.ToString() ==...

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

Странная ошибка в функции: корректно работает только при наличии точек останова
Есть ф-ция: Function GetPass(ByVal len As Byte) As String Dim out As String = "" Dim chrs As String =...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru