Закрытие формы по нажатию трех клавиш - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Накидал такой код
int[] keyVal =
{
    -1; -1
}
 
private void Sc_1_KeyDown(object sender, KeyEventArgs e)
        {
            if(keyVal[0] == -1)
            {
                keyVal[0] = e.KeyValue;
            }
            else
            {
                keyVal[1] = e.KeyValue;
            }
        }
 
        private void Sc_1_KeyUp(object sender, KeyEventArgs e)
        {
            if(keyVal[0] == 120 && keyVal[1] == 38)
            {
                Close();
            }
            else
            {
                keyVal[0] = -1;
                keyVal[1] = -1;
            }
        }
Но таким образом обрабатываю закрытие по 2-м клавишам. Подскажите пожалуйста, что добавить, чтобы закрыть по трем клавишам, скажем F2+Spacebar+стрелка вверх. Заранее спасибо! ))

Решение задачи: «Закрытие формы по нажатию трех клавиш»

textual
Листинг программы
int[] keyVal =
{
    -1; -1; -1
}
private void Sc_1_KeyDown(object sender, KeyEventArgs e)
        {
            if(keyVal[0] == -1)
            {
                keyVal[0] = e.KeyValue;
            }
            else
            {
             if(keyVal[1] == -1)
                keyVal[1] = e.KeyValue;
             else keyVal[2] = e.KeyValue;
            }
        }
 
        private void Sc_1_KeyUp(object sender, KeyEventArgs e)
        {
            if(keyVal[0] == 120 && keyVal[1] == 38 && keyVal[2] == /* Код клавиши */)
            {
                Close();
            }
            else
            {
                keyVal[0] = -1;
                keyVal[1] = -1;
                keyVal[2] = -1;
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы