⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 100个非常有趣的C语言UNIX程序实例。可以在乐趣中练习C语言编程。
💻 CS
📖 第 1 页 / 共 2 页
字号:
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
            this.ClientSize = new System.Drawing.Size(176, 237);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.btnDecimal,
                                                                          this.btnNegative,
                                                                          this.btnClear,
                                                                          this.btnEquals,
                                                                          this.btnAdd,
                                                                          this.btnSubtract,
                                                                          this.btnMultiply,
                                                                          this.btnDivide,
                                                                          this.btn0,
                                                                          this.btn9,
                                                                          this.btn8,
                                                                          this.btn7,
                                                                          this.btn6,
                                                                          this.btn5,
                                                                          this.btn4,
                                                                          this.btn3,
                                                                          this.btn2,
                                                                          this.txtResult,
                                                                          this.btn1});
            this.MaximizeBox = false;
            this.Name = "Calculator1";
            this.Text = "简易计算器";
            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Calculator1_KeyDown);
            this.ResumeLayout(false);

        }
		#endregion

		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new Calculator1());
		}

        public void setText(String textset)
        {
            if(textset.Equals("clear")) //If the user hits the clear button
            {
                txtResult.Text = ""; //Clear the text and reset the boolean variables.
                isDone = false;
                isSecond = false;
                isDecimal = false;

            }
            else
            {
                if(isSecond) //Determine if the number being entered is the begining of the second number. If it is:
                {
                    txtResult.Text = textset; //Start the text over and set the first # to what the user enters
                    isSecond = false; //So Calculator knows to continue the # rather than making a new one.
                    isDecimal = false;
                }
                else
                {
                    if(isDone) //isDone lets the program know that the user just hit "=" and if they press another # to start a new number.
                    {
                        txtResult.Text = textset;
                        isDone=false; //Set isDone to false so that the number just started is added on to and a new # is not started.
						
                    }
                    else
                        txtResult.Text += textset; //Simply add on to the existing #.
						
                }
            }
            btnEquals.Select(); //Set the focus back to the "=" button.
        }

        public void Calc(double num1, double num2, int op)
        {
            double answer = 0;//Initialize answer to 0;
            switch(op)		//Determine which operation to perform depending on the value of "op"
            {
                case 1:
                    answer = num1 + num2;
                    break;
                case 2:
                    answer = num1 - num2;
                    break;
                case 3:
                    answer = num1 * num2;
                    break;
                case 4:
                    answer = num1 / num2;
                    break;
            }
            setText(answer.ToString()); //Show the answer in the textbox;
        }

        private void doEquals()
        {
            mainNum2 = double.Parse(txtResult.Text);	//Set the value of the second number
            setText("clear"); //Clear the textbox
            Calc(mainNum1, mainNum2,opMain); //Call the Calc method
            isDone = true; //Set isDone to true so that if another # is pressed, the program will begin a new number
        }

        private void changeSign()
        {
            double storNum; //Variable to store value of number
            if(txtResult.Text.Length > 0) //If there is a number...
            {
                storNum = double.Parse(txtResult.Text); //Store its value
                storNum *= -1; //multiply by negative 1
                txtResult.Text = storNum.ToString(); //put it in the textbox.
            }
            btnEquals.Select(); //Set focus to "=" button
        }

        private void setOperator(int operation)
        {
            if(txtResult.Text.Length > 0)//Make sure that the user entered a number
            {
                opMain = operation; //Store the operation
                mainNum1 = double.Parse(txtResult.Text); //Store the value of the first number
                isSecond = true; //Let the program know to begin the second number
                isDone = false; //If a operator button is pressed before a new number, let the program know to start a new number.
                btnEquals.Select(); //Set the focus to the equals button.
            }
        }

        private void setDecimal()
        {
            if(!isDecimal)//Check for existing decimal
            {
                setText("."); //Add decimal
                isDecimal = true; //Let program know decimal has been added
            }
            btnEquals.Select(); //Set focus to "=" button
        }

        public void filterKeys(int keyCode)
        {
            switch(keyCode)
            {
                case 96:
                    setText("0");
                    break;
                case 97:
                    setText("1");
                    break;
                case 98:
                    setText("2");
                    break;
                case 99:
                    setText("3");
                    break;
                case 100:
                    setText("4");
                    break;
                case 101:
                    setText("5");
                    break;
                case 102:
                    setText("6");
                    break;	
                case 103:
                    setText("7");
                    break;
                case 104:
                    setText("8");
                    break;
                case 105:
                    setText("9");
                    break;
                case 67:
                    setText("clear");
                    break;
                case 107:
                    setOperator(1);
                    break;
                case 109:
                    setOperator(2);
                    break;
                case 106:
                    setOperator(3);
                    break;
                case 111:
                    setOperator(4);
                    break;
                case 110:
                    setDecimal();
                    break;
            }
        }

        private void Calculator1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            filterKeys(e.KeyValue);
        }

        private void btn1_Click(object sender, System.EventArgs e)
        {
            setText("1");
        }

        private void btn2_Click(object sender, System.EventArgs e)
        {
            setText("2");
        }

        private void btn3_Click(object sender, System.EventArgs e)
        {
            setText("3");
        }

        private void btn4_Click(object sender, System.EventArgs e)
        {
            setText("4");
        }

        private void btn5_Click(object sender, System.EventArgs e)
        {
            setText("5");
        }

        private void btn6_Click(object sender, System.EventArgs e)
        {
            setText("6");
        }

        private void btn7_Click(object sender, System.EventArgs e)
        {
            setText("7");
        }

        private void btn8_Click(object sender, System.EventArgs e)
        {
            setText("8");
        }

        private void btn9_Click(object sender, System.EventArgs e)
        {
            setText("9");
        }

        private void btn0_Click(object sender, System.EventArgs e)
        {
            setText("0");
        }

        private void btnAdd_Click(object sender, System.EventArgs e)
        {
            setOperator(1);
        }

        private void btnSubtract_Click(object sender, System.EventArgs e)
        {
            setOperator(2);
        }

        private void btnMultiply_Click(object sender, System.EventArgs e)
        {
            setOperator(3);
        }

        private void btnDivide_Click(object sender, System.EventArgs e)
        {
            setOperator(4);
        }

        private void btnClear_Click(object sender, System.EventArgs e)
        {
            isSecond = false;
            setText("clear");
        }

        private void btnNegative_Click(object sender, System.EventArgs e)
        {
            changeSign();
        }

        private void btnDecimal_Click(object sender, System.EventArgs e)
        {
            setDecimal();
        }

        private void btnEquals_Click(object sender, System.EventArgs e)
        {
            doEquals();
        }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -