C#实现简易计算器功能(2)(窗体应用)
作者:迎迎一笑
这篇文章主要为大家详细介绍了C#实现简易计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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; namespace WindowsFormsAppCalculator { public partial class Form1 : Form { double number1 = 0; double number2 = 0; double result; int inputNumber; enum Operator { none, plus, minus, multiplication, division}//判断运算法则 Operator mode = Operator.none; bool isequal = false; public Form1() { InitializeComponent(); } private void num1_Click(object sender, EventArgs e) { inputNumber = 1; WindowsFormsAppCalculator(inputNumber); //number1 = number1 * 10 + 1; //labelout.Text = Convert.ToString(number1); } private void num2_Click(object sender, EventArgs e) { inputNumber = 2; WindowsFormsAppCalculator(inputNumber); } private void num3_Click(object sender, EventArgs e) { inputNumber = 3; WindowsFormsAppCalculator(inputNumber); } private void num4_Click(object sender, EventArgs e) { inputNumber = 4; WindowsFormsAppCalculator(inputNumber); } private void num5_Click(object sender, EventArgs e) { inputNumber = 5; WindowsFormsAppCalculator(inputNumber); } private void num6_Click(object sender, EventArgs e) { inputNumber = 6; WindowsFormsAppCalculator(inputNumber); } private void num7_Click(object sender, EventArgs e) { inputNumber = 7; WindowsFormsAppCalculator(inputNumber); } private void num8_Click(object sender, EventArgs e) { inputNumber = 8; WindowsFormsAppCalculator(inputNumber); } private void num9_Click(object sender, EventArgs e) { inputNumber = 9; WindowsFormsAppCalculator(inputNumber); } private void num0_Click(object sender, EventArgs e) { inputNumber = 0; WindowsFormsAppCalculator(inputNumber); } private void Form1_Load(object sender, EventArgs e) { labelout.Text = Convert.ToString(number1); } private void clean_Click(object sender, EventArgs e) { cleanAll(); } public void WindowsFormsAppCalculator(int an) //不懂这段怎么来的 { if (mode == Operator.none) { number1 = number1 * 10 + an; labelout.Text = Convert.ToString(number1); } else { number2 = number2 * 10 + an; labelout.Text = Convert.ToString(number2); } } private void plus_Click(object sender, EventArgs e) { mode = Operator.plus; switchmode(); //isequal = true; } private void minus_Click(object sender, EventArgs e) { mode = Operator.minus; switchmode(); } private void multiplication_Click(object sender, EventArgs e) { mode = Operator.multiplication; switchmode(); } private void division_Click(object sender, EventArgs e) { mode = Operator.division; switchmode(); } private void equal_Click(object sender, EventArgs e) { switch (mode) { case Operator.plus: result = number1 + number2; break; case Operator.minus: result = number1 - number2; break; case Operator.multiplication: result = number1 * number2; break; case Operator.division: result = number1 / number2; break; } isequal = true; labelbefore.Text = ""; labelmode.Text = ""; labelout.Text = Convert.ToString(result); } public void cleanAll() { number1 = 0; number2 = 0; labelout.Text = Convert.ToString(number1); labelbefore.Text = ""; labelmode.Text = ""; isequal = false; mode = Operator.none; } public void switchmode() { switch (mode) { case Operator.plus: labelmode.Text = "+"; break; case Operator.minus: labelmode.Text = "-"; break; case Operator.multiplication: labelmode.Text = "*"; break; case Operator.division: labelmode.Text = "/"; break; } //isequal = true; //cleanAll(); labelbefore.Text = Convert.ToString(number1); labelout.Text = Convert.ToString(number2); } } }
namespace WindowsFormsAppCalculator { partial class Form1 { /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// 清理所有正在使用的资源。 /// </summary> /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要修改 /// 使用代码编辑器修改此方法的内容。 /// </summary> private void InitializeComponent() { this.labelout = new System.Windows.Forms.Label(); this.labelbefore = new System.Windows.Forms.Label(); this.labelmode = new System.Windows.Forms.Label(); this.num1 = new System.Windows.Forms.Button(); this.num6 = new System.Windows.Forms.Button(); this.num8 = new System.Windows.Forms.Button(); this.num7 = new System.Windows.Forms.Button(); this.num5 = new System.Windows.Forms.Button(); this.num4 = new System.Windows.Forms.Button(); this.num9 = new System.Windows.Forms.Button(); this.num2 = new System.Windows.Forms.Button(); this.num3 = new System.Windows.Forms.Button(); this.num0 = new System.Windows.Forms.Button(); this.clean = new System.Windows.Forms.Button(); this.minus = new System.Windows.Forms.Button(); this.multiplication = new System.Windows.Forms.Button(); this.division = new System.Windows.Forms.Button(); this.plus = new System.Windows.Forms.Button(); this.equal = new System.Windows.Forms.Button(); this.SuspendLayout(); // // labelout // this.labelout.Font = new System.Drawing.Font("宋体", 25.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.labelout.Location = new System.Drawing.Point(26, 111); this.labelout.Name = "labelout"; this.labelout.Size = new System.Drawing.Size(463, 49); this.labelout.TabIndex = 0; this.labelout.TextAlign = System.Drawing.ContentAlignment.BottomRight; // // labelbefore // this.labelbefore.Font = new System.Drawing.Font("宋体", 22.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.labelbefore.Location = new System.Drawing.Point(27, 9); this.labelbefore.Name = "labelbefore"; this.labelbefore.Size = new System.Drawing.Size(463, 43); this.labelbefore.TabIndex = 1; this.labelbefore.TextAlign = System.Drawing.ContentAlignment.BottomRight; // // labelmode // this.labelmode.Font = new System.Drawing.Font("宋体", 22.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.labelmode.Location = new System.Drawing.Point(28, 61); this.labelmode.Name = "labelmode"; this.labelmode.Size = new System.Drawing.Size(463, 39); this.labelmode.TabIndex = 2; this.labelmode.TextAlign = System.Drawing.ContentAlignment.BottomRight; // // num1 // this.num1.Location = new System.Drawing.Point(35, 199); this.num1.Name = "num1"; this.num1.Size = new System.Drawing.Size(71, 41); this.num1.TabIndex = 3; this.num1.Text = "1"; this.num1.UseVisualStyleBackColor = true; this.num1.Click += new System.EventHandler(this.num1_Click); // // num6 // this.num6.Location = new System.Drawing.Point(218, 253); this.num6.Name = "num6"; this.num6.Size = new System.Drawing.Size(71, 41); this.num6.TabIndex = 6; this.num6.Text = "6"; this.num6.UseVisualStyleBackColor = true; this.num6.Click += new System.EventHandler(this.num6_Click); // // num8 // this.num8.Location = new System.Drawing.Point(130, 312); this.num8.Name = "num8"; this.num8.Size = new System.Drawing.Size(71, 41); this.num8.TabIndex = 7; this.num8.Text = "8"; this.num8.UseVisualStyleBackColor = true; this.num8.Click += new System.EventHandler(this.num8_Click); // // num7 // this.num7.Location = new System.Drawing.Point(35, 312); this.num7.Name = "num7"; this.num7.Size = new System.Drawing.Size(71, 41); this.num7.TabIndex = 8; this.num7.Text = "7"; this.num7.UseVisualStyleBackColor = true; this.num7.Click += new System.EventHandler(this.num7_Click); // // num5 // this.num5.Location = new System.Drawing.Point(130, 253); this.num5.Name = "num5"; this.num5.Size = new System.Drawing.Size(71, 41); this.num5.TabIndex = 9; this.num5.Text = "5"; this.num5.UseVisualStyleBackColor = true; this.num5.Click += new System.EventHandler(this.num5_Click); // // num4 // this.num4.Location = new System.Drawing.Point(35, 253); this.num4.Name = "num4"; this.num4.Size = new System.Drawing.Size(71, 41); this.num4.TabIndex = 10; this.num4.Text = "4"; this.num4.UseVisualStyleBackColor = true; this.num4.Click += new System.EventHandler(this.num4_Click); // // num9 // this.num9.Location = new System.Drawing.Point(218, 312); this.num9.Name = "num9"; this.num9.Size = new System.Drawing.Size(71, 41); this.num9.TabIndex = 11; this.num9.Text = "9"; this.num9.UseVisualStyleBackColor = true; this.num9.Click += new System.EventHandler(this.num9_Click); // // num2 // this.num2.Location = new System.Drawing.Point(130, 199); this.num2.Name = "num2"; this.num2.Size = new System.Drawing.Size(71, 41); this.num2.TabIndex = 12; this.num2.Text = "2"; this.num2.UseVisualStyleBackColor = true; this.num2.Click += new System.EventHandler(this.num2_Click); // // num3 // this.num3.Location = new System.Drawing.Point(218, 199); this.num3.Name = "num3"; this.num3.Size = new System.Drawing.Size(71, 41); this.num3.TabIndex = 13; this.num3.Text = "3"; this.num3.UseVisualStyleBackColor = true; this.num3.Click += new System.EventHandler(this.num3_Click); // // num0 // this.num0.Location = new System.Drawing.Point(130, 372); this.num0.Name = "num0"; this.num0.Size = new System.Drawing.Size(71, 41); this.num0.TabIndex = 14; this.num0.Text = "0"; this.num0.UseVisualStyleBackColor = true; this.num0.Click += new System.EventHandler(this.num0_Click); // // clean // this.clean.Location = new System.Drawing.Point(387, 199); this.clean.Name = "clean"; this.clean.Size = new System.Drawing.Size(71, 41); this.clean.TabIndex = 15; this.clean.Text = "清除"; this.clean.UseVisualStyleBackColor = true; this.clean.Click += new System.EventHandler(this.clean_Click); // // minus // this.minus.Location = new System.Drawing.Point(305, 253); this.minus.Name = "minus"; this.minus.Size = new System.Drawing.Size(71, 41); this.minus.TabIndex = 16; this.minus.Text = "-"; this.minus.UseVisualStyleBackColor = true; this.minus.Click += new System.EventHandler(this.minus_Click); // // multiplication // this.multiplication.Location = new System.Drawing.Point(305, 312); this.multiplication.Name = "multiplication"; this.multiplication.Size = new System.Drawing.Size(71, 41); this.multiplication.TabIndex = 17; this.multiplication.Text = "*"; this.multiplication.UseVisualStyleBackColor = true; this.multiplication.Click += new System.EventHandler(this.multiplication_Click); // // division // this.division.Location = new System.Drawing.Point(305, 372); this.division.Name = "division"; this.division.Size = new System.Drawing.Size(71, 41); this.division.TabIndex = 18; this.division.Text = "/"; this.division.UseVisualStyleBackColor = true; this.division.Click += new System.EventHandler(this.division_Click); // // plus // this.plus.Location = new System.Drawing.Point(305, 199); this.plus.Name = "plus"; this.plus.Size = new System.Drawing.Size(71, 41); this.plus.TabIndex = 19; this.plus.Text = "+"; this.plus.UseVisualStyleBackColor = true; this.plus.Click += new System.EventHandler(this.plus_Click); // // equal // this.equal.Location = new System.Drawing.Point(218, 372); this.equal.Name = "equal"; this.equal.Size = new System.Drawing.Size(71, 41); this.equal.TabIndex = 20; this.equal.Text = "="; this.equal.UseVisualStyleBackColor = true; this.equal.Click += new System.EventHandler(this.equal_Click); // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(502, 466); this.Controls.Add(this.equal); this.Controls.Add(this.plus); this.Controls.Add(this.division); this.Controls.Add(this.multiplication); this.Controls.Add(this.minus); this.Controls.Add(this.clean); this.Controls.Add(this.num0); this.Controls.Add(this.num3); this.Controls.Add(this.num2); this.Controls.Add(this.num9); this.Controls.Add(this.num4); this.Controls.Add(this.num5); this.Controls.Add(this.num7); this.Controls.Add(this.num8); this.Controls.Add(this.num6); this.Controls.Add(this.num1); this.Controls.Add(this.labelmode); this.Controls.Add(this.labelbefore); this.Controls.Add(this.labelout); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); } #endregion private System.Windows.Forms.Label labelout; private System.Windows.Forms.Label labelbefore; private System.Windows.Forms.Label labelmode; private System.Windows.Forms.Button num1; private System.Windows.Forms.Button num6; private System.Windows.Forms.Button num8; private System.Windows.Forms.Button num7; private System.Windows.Forms.Button num5; private System.Windows.Forms.Button num4; private System.Windows.Forms.Button num9; private System.Windows.Forms.Button num2; private System.Windows.Forms.Button num3; private System.Windows.Forms.Button num0; private System.Windows.Forms.Button clean; private System.Windows.Forms.Button minus; private System.Windows.Forms.Button multiplication; private System.Windows.Forms.Button division; private System.Windows.Forms.Button plus; private System.Windows.Forms.Button equal; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。