Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > как отловить нажатие двух кнопок сразу?


Автор: 4epT 22.4.2010, 22:04
Мне нужно отловить нажатие клавиш Ctr + Shift

делаю вот так вот: 

Код

             if(e.KeyCode == Keys.ShiftKey && e.Modifiers == Keys.ControlKey)
            {
                MessageBox.Show("Пффф");
            }


но никакой реакции, помогите пожалуйста =)))

Автор: diadiavova 22.4.2010, 22:46
Код

            if (e.KeyCode ==  Keys.ControlKey && e.Modifiers == Keys.Shift)
            {
                MessageBox.Show("Пффф");
            }

Автор: 4epT 22.4.2010, 23:20
Цитата(diadiavova @ 22.4.2010,  22:46)
Код

            if (e.KeyCode ==  Keys.ControlKey && e.Modifiers == Keys.Shift)
            {
                MessageBox.Show("Пффф");
            }

ноль реакции (

Автор: diadiavova 23.4.2010, 08:11
Цитата(4epT @  23.4.2010,  00:20 Найти цитируемый пост)
ноль реакции ( 

А ты свойство KeyPreview установил в true? 
Вообще в таких ситуациях определимть, что являетс клавишей, а что модификатором трудно, поскольку всё равно что-то нажимается сначала, а что-то потом, так что мой вариант срабатывает не всегда(попробовал smile ). Можно оба варианта предусмотреть(пример в аттаче)

Автор: 4epT 24.4.2010, 09:33
спасибо большое за пример ) все заработало ... у меня ошибка была в том что я свой код вешал на обработчик Key_Down а нужно на Key_Up.

Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)