Как Добавить обработку клавиш * и / в метод Button_Key?

Подскажите как сделать чтоб при нажатии shift + 8 писался символ * умножение я вот делаю калькулятор кнопки плюс и минус работают а вот умножение нет вот код

        private void Button_Key(object sender, KeyEventArgs e)
    {
        // Проверяем, является ли нажатая клавиша числом
        if (e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9)
        {
            // Получаем номер нажатой клавиши
            int num = e.KeyCode - Keys.D0;

            // Если начинается ввод нового числа после действия, замените result_lab
            if (this.result_lab.Text == "0" || this.again)
            {
                this.result_lab.Text = num.ToString();
                this.again = false;
            }
            else
            {
                this.result_lab.Text += num.ToString();
            }
        }
        // Проверяем, является ли нажатая клавиша оператором
        else if (e.KeyCode == Keys.Oemplus || e.KeyCode == Keys.OemMinus || (e.KeyCode == Keys.D8 && e.Shift) || (e.KeyCode == Keys.OemQuestion && e.Shift))
        {
            char operatorSymbol = ' ';
            switch (e.KeyCode)
            {
                case Keys.Oemplus:
                    operatorSymbol = '+';
                    break;
                case Keys.OemMinus:
                    operatorSymbol = '-';
                    break;
                case Keys.D8:
                    operatorSymbol = '*';
                    break;
                case Keys.OemQuestion:
                    operatorSymbol = '/';
                    break;
            }
            // Вызываем math_action с текущим числом
            math_action(operatorSymbol);
            // Добавляем оператор в result_lab
            this.result_lab.Text += operatorSymbol;
        }
        // Проверяем, является ли нажатая клавиша Backspace
        else if (e.KeyCode == Keys.Back)
        {
            // Удаляем последний символ в result_lab
            if (this.result_lab.Text.Length > 0)
            {
                this.result_lab.Text = this.result_lab.Text.Substring(0, this.result_lab.Text.Length - 1);
            }
        }
    }
}

} когда нажимаю Shift + 8, это не генерирует событие Keys.Oem8. Вместо этого, оно генерирует событие Keys.D8. Поэтому, чтобы обрабатывать символ *, нужно проверить, нажата ли клавиша Shift вместе с 8 но как это сделать


Ответы (0 шт):