c# windows窗体应用程序中怎么用switch写一个计算器的程序

2024年11月17日 22:31
有2个网友回答
网友(1):

先看看图片

 

说明以上控件动态生成的,初学可自己拖放控件,以下代码仅供参考

 

            /*设计一个简单的四则计算器*/
            string[] 名称 = { "+", "-", "*", "/" };
            Button[] 控件组 = Array.ConvertAll(名称, 控件 => new Button());
            EventHandler[] 按钮事件 = new EventHandler[] { 按钮加_Click, 按钮减_Click, 按钮乘_Click, 按钮除_Click };
            foreach (Button 按钮 in 控件组)
            {
                按钮.Text = 名称[--数];
                按钮.Name = "按钮" + 数.ToString();
                按钮.Parent = this;
                按钮.Anchor = (AnchorStyles.Top | AnchorStyles.Left);
                按钮.Location = new Point(100 * 数, 17);
                按钮.Click += 按钮事件[数];
            }
            名称 = new string[] { "值1", "值2", "结果" };
            TextBox[] 数字输入框 = Array.ConvertAll(名称, 控件 => new TextBox());
            数 = 3;
            foreach (TextBox 输入框 in 数字输入框)
            {
                输入框.Text = (--数 + 10).ToString();
                输入框.Name = "输入框" + 名称[数];
                输入框.Parent = this;
                输入框.Anchor = (AnchorStyles.Top | AnchorStyles.Left);
                输入框.Location = new Point(100 * 数, 0);
            }

 

        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 四则运算(string 运算符)
        {
            Control.ControlCollection 文本框 = this.Controls;
            double 值1 = int.Parse(文本框[9].Text), 值2 = int.Parse(文本框[8].Text);
            switch(运算符)
            {
                case "+":
                    { 文本框[7].Text = (值1 + 值2).ToString(); }
                    break;
                case "-":
                    { 文本框[7].Text = (值1 - 值2).ToString(); }
                    break;
                case "*":
                    { 文本框[7].Text = (值1 * 值2).ToString(); }
                    break;
                case "/":
                    { 文本框[7].Text = (值1 / 值2).ToString(); }
                    break;
                default:
                    break;
            }
        }

网友(2):

vs2010 小 demo 可以试试