设计一个简单的四则计算器

c#

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;
using System.IO;
using System.Threading;
using System.Diagnostics;/*表示 Windows NT 性能计数器组件。 */





namespace WindowsForms测试
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Stopwatch 总运行时间 = Stopwatch.StartNew();

            int 数 = 5;
            /*设计一个简单的四则计算器*/
            string[] 名称 = { "+", "-", "*", "/", "运算" };
            Button[] 控件组 = Array.ConvertAll(名称, 控件 => new Button());
            EventHandler[] 按钮事件 = new EventHandler[] { 按钮加_Click, 按钮减_Click, 按钮乘_Click, 按钮除_Click, 运算_Click };
            ImageList 图标集 = new ImageList();
            图标集.Images.Add(Image.FromFile(System.Environment.CurrentDirectory + @"\熊猫.bmp")); 
            foreach (Button 按钮 in 控件组)
            {
                按钮.Text = 名称[--数];
                按钮.Name = "按钮" + 数.ToString();
                按钮.Parent = this;
                按钮.Anchor = (AnchorStyles.Top | AnchorStyles.Left);
                按钮.Location = new Point(100 * 数, 22);
                按钮.Click += 按钮事件[数];
                按钮.BackgroundImage = 图标集.Images[0];
            }
            名称 = new string[] { "值1", "值2", "运算", "结果" };
            TextBox[] 数字输入框 = Array.ConvertAll(名称, 控件 => new TextBox());
            数 = 4;
            foreach (TextBox 输入框 in 数字输入框)
            {
                输入框.Text = (--数 + 10).ToString();
                输入框.Name = "输入框" + 名称[数];
                输入框.Parent = this;
                输入框.Anchor = (AnchorStyles.Top | AnchorStyles.Left);
                输入框.Location = new Point(100 * 数, 0);
            }
            Control.ControlCollection 控件集 = this.Controls;
            foreach (Button 按钮 in 控件集) 按钮.BackgroundImage = 图标集.Images[0];
            MessageBox.Show("总运行时间: " + 总运行时间.ElapsedMilliseconds.ToString("000000sm"));
        }

        void 按钮加_Click(object sender, EventArgs e)
        {
            四则运算("+");
        }
        void 按钮减_Click(object sender, EventArgs e)
        {
            四则运算("-");
        }
        void 按钮乘_Click(object sender, EventArgs e)
        {
            四则运算("*");
        }
        void 按钮除_Click(object sender, EventArgs e)
        {
            四则运算("/");
        }
        void 运算_Click(object sender, EventArgs e)
        {
            四则运算(this.Controls[9].Text);
        }
        void 四则运算(string 运算符)
        {
            Control.ControlCollection 文本框 = this.Controls;
            double 值1 = double.Parse(文本框[11].Text), 值2 = Convert.ToDouble(文本框[10].Text);
            switch(运算符)
            {
                case "+":
                    { 文本框[8].Text = (值1 + 值2).ToString(); }
                    break;
                case "-":
                    { 文本框[8].Text = (值1 - 值2).ToString(); }
                    break;
                case "*":
                    { 文本框[8].Text = (值1 * 值2).ToString(); }
                    break;
                case "/":
                    { 文本框[8].Text = (值1 / 值2).ToString(); }
                    break;
                default:
                    break;
            }
        }
    }
}


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值