示例#1
0
        //Метод обработки ввода в 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();
            }
        }
示例#2
0
        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));
        }
示例#3
0
        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;
            }
        }