Escribir una calculadora en lenguaje C #



Los archivos adjuntos del sistema informático operativo Mimic Windows son un diseño de estilo , para diseñar los elementos básicos del menú ( tecla de acceso directo , tecla de acceso rápido , etc. y la línea divisoria )

        

 

 

Requisitos de función : realice las teclas de función como se muestra en la figura siguiente

 



El método para configurar la tecla de acceso rápido es el siguiente:

 

Primero use el elemento de formulario para hacer el formulario como se muestra en la figura

Haga clic con el botón derecho en el elemento del menú desplegable

 

Haga clic en editar elemento para configurar la tecla de acceso rápido

 

Haga clic en la colección DropdownItems

Configure la tecla de acceso rápido aquí, y así sucesivamente;

 

 

 

Una vez completada toda la configuración, como se muestra

 

 

Luego haga clic en el formulario de la calculadora

El cuadro de texto de la pantalla inicial está vacío; agregue monitoreo de operando para 0-9 y punto decimal,

Agregue monitoreo de operador para operadores y agregue oyentes para eliminar, retroceder y vaciar, respectivamente;

El código completo es el siguiente:

<span style="font-family:Comic Sans MS;font-size:14px;">using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        //保存用户所按的运算符
        private string s;
        //保存用户输入的运算数
        private double x, y;
        //运算符按钮对象
        private Button btn;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = "";
        }
        private void buttond_Click(object sender, EventArgs e)
        {
            btn = (Button)sender;
            textBox1.Text += btn.Text;
        }
        private void buttonop_Click(object sender, EventArgs e)
        {
            btn = (Button)sender;
            if(btn.Name!="btn_Equal")
            {
                x = Convert.ToDouble(textBox1.Text);
                textBox1.Text = "";
                s = btn.Name;
                switch (s)
                {
                    case "btn_Recip":
                        textBox1.Text = "1/" + x.ToString() + "=" + (1/x).ToString();
                        break;
                    case "btn_Sqrt":
                        textBox1.Text = "√" + x.ToString() + "=" + Math.Sqrt(x).ToString();
                        break;
                }
            }
            else
            {
                y = Convert.ToDouble(textBox1.Text);
                switch(s)
                {
                    case"btn_Add":
                        textBox1.Text = x.ToString()+"+"+y.ToString()+"="+(x + y).ToString();
                        break;
                    case "btn_Sub":
                        textBox1.Text = x.ToString() + "-" + y.ToString() + "=" + (x - y).ToString();
                        break;
                    case "btn_Mul":
                        textBox1.Text = x.ToString() + "*" + y.ToString() + "=" + (x * y).ToString();
                        break;
                    case "btn_Div":
                        if (y == 0)
                        {
                            MessageBox.Show("除零错误!!!", "信息提示", MessageBoxButtons.OK);
                        }
                        else
                            textBox1.Text = x.ToString() + "/" + y.ToString() + "=" + (x / y).ToString();
                        break;
                    case "btn_Mod":
                        textBox1.Text = x.ToString() + "%" + y.ToString() + "=" + (x % y).ToString();
                        break;
                }
            }
        }
        private void changeSign(object sender, EventArgs e)        
        {            
            double storNum;             
            if (textBox1.Text.Length > 0)  
            {
                storNum = double.Parse(textBox1.Text);                 
                storNum *= -1;               
                textBox1.Text = storNum.ToString();           
            }            
            btn_Equal.Select();       
        }
        private void btnDeleteSign_Clicked(object sender, EventArgs e)
        {
             
        }
        private void btnDeleteAll_Clicked(object sender, EventArgs e)
        {
            textBox1.Text = "";
        }
        private void btnDelete1_Clicked(object sender, EventArgs e)
        {
            this.textBox1.Text = this.textBox1.Text.Substring(0, this.textBox1.Text.Length - 1);
            if(this.textBox1.Text=="")
            {
                this.textBox1.Text = "";
            }
        }
    }
}</span>

El resultado final de la ejecución es el siguiente:

 


Supongo que te gusta

Origin blog.csdn.net/dream_18/article/details/51713400
Recomendado
Clasificación