Как Добавить обработку клавиш * и / в метод 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 но как это сделать