Последовательность нажатия клавиш

76
04 июля 2021, 22:00

Как выполнить открытие формы, после нажатия определенной последовательности клавиш (стрелок) на клавиатуре? Прошу предоставить пример кода, в котором это реализовано.

Answer 1

Ты можешь сделать примитивно и просто хранить какой-нибудь int, а на каждое нажатие клавишы делать что-то наподобие:

private int _state=0;
private void Control_KeyDown(object sender, KeyEventArgs e)
{
    switch (e.KeyChar)
    {
        case 'S' when _state == 2:
            _state = 0; 
            //наша последовательность символов (SOS) была нажата и мы можем открывать форму
            break;
        case 'O' when _state == 1:
            _state++; break;
        case 'S':
            _state = 1; break;
        default:
            _state = 0; break;
    }
}

А если захочешь сделать что-то более сложное и красивое с более продвинутыми условиями, то тебе надо посмотреть на конечные автоматы. Глянуть можно туть.

READ ALSO
Задать авторазмер UserControl передаваемого в TabPage

Задать авторазмер UserControl передаваемого в TabPage

Есть отдельный UserControl, который я передаю в TabPage и юзаю его в TabControl

83
Множественное использование UserControl

Множественное использование UserControl

Работаю с WPF с применением паттерна MVVMСтолкнулся с проблемой, создал UserControl(далее UC) один общий который будет несколько раз использоваться:

122
Можно ли создать “составную” переменную в c#. Например состоящую из byte,byte,string,string

Можно ли создать “составную” переменную в c#. Например состоящую из byte,byte,string,string

Чтоб к каждому члену этого списка соотвецвовало 2 переменные byte и 2 string

107