//Метод обработки ввода в TextBox только цифр private void OutCalc_KeyPress(object sender, KeyPressEventArgs e) { char num = e.KeyChar; //Реагирование только на цифры, запятая. if (!Char.IsDigit(num) && (num != 44)) { e.Handled = true; } //Нажатие кнопки умножения if (string.Compare(num.ToString(), "*") == 0) //Сравнение строки { Multiply.PerformClick(); //Запускаем метод нажатия на кнопку } //Нажатие деления if (string.Compare(num.ToString(), "/") == 0)//Сравнение строки { Share.PerformClick(); } //Нажатие вычитания if (string.Compare(num.ToString(), "-") == 0)//Сравнение строки { Minus.PerformClick(); } //Нажатие сложения if (string.Compare(num.ToString(), "+") == 0)//Сравнение строки { Plus.PerformClick(); } //Нажатия Enter if (num == 13) { Equally.PerformClick(); } }
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { //대부분의 경우 키보드에서 키를 누르면 KeyUp, KeyPress, KeyDown 등의 이벤트들이 발생한다. //그러나 Control, Alt, ReturnResult 같은 특수한 키들은 상기된 이벤트들을 발생시기 전에 미리 짜여진, 다른 행동을 취한다. //ProcessCmdKey는 해당 폼으로 들어오는 키들을 제일 먼저 인식하고 관련된 키에 대한 프로시저들을 실행하는 메소드인데, 이 함수를 오버라이드 한다. //Debug.WriteLine(Convert.ToString(keyData)); if (keyData == Keys.Return) { Equal.PerformClick(); return(true); //여기서 return 함으로써 enter키를 누르는 행동이 '버튼을 누르는 등'의 프로시저들 행하지 않고 종료시킨다. } if (keyData == Keys.Tab) { foreach (Control ctr in Controls) { if (ctr.GetType() == typeof(Button)) { ctr.TabStop = true; } } } if (keyData == (Keys.Shift | Keys.D9)) { BracketOpen.PerformClick(); return(true); } if (keyData == (Keys.Shift | Keys.D0)) { BracketClose.PerformClick(); return(true); } if (keyData == (Keys.Shift | Keys.D5)) { Mod.PerformClick(); return(true); } if (keyData == (Keys.Shift | Keys.D6)) { Power.PerformClick(); return(true); } if (keyData == (Keys.Shift | Keys.D8)) { Multiply.PerformClick(); return(true); } if (keyData == (Keys.OemMinus)) { Minus.PerformClick(); return(true); } if (keyData == (Keys.Shift | Keys.Oemplus)) { Plus.PerformClick(); return(true); } return(base.ProcessCmdKey(ref msg, keyData)); }
private void Calculator_Keypress(object sender, KeyPressEventArgs e) { switch (e.KeyChar.ToString()) { case "1": butt1.PerformClick(); break; case "2": butt2.PerformClick(); break; case "3": butt3.PerformClick(); break; case "4": butt4.PerformClick(); break; case "5": butt6.PerformClick(); break; case "7": butt7.PerformClick(); break; case "8": butt8.PerformClick(); break; case "9": butt9.PerformClick(); break; case "0": butt0.PerformClick(); break; case ",": Point.PerformClick(); break; case "=": Equal.PerformClick(); break; case "13": Equal.PerformClick(); break; case "+": Plus.PerformClick(); break; case "-": Minus.PerformClick(); break; case "x": Ori.PerformClick(); break; case "/": Impartit.PerformClick(); break; case "s": Radical.PerformClick(); break; case "w": Clear_Label.PerformClick(); break; case "q": Del.PerformClick(); break; default: break; } }