资源介绍
用C#编写的计算器
超详细
因为计算器设计的控件太多,不便使用控制台应用程序完成,所以这里使用Windows窗体应用程序,并命名为Calc,如下图所示:
向窗体中拖入需要的控件,如下图所示:
(完成效果图)
结果显示区(作者博客左边的文本框)是TextBox控件,并修改其name为txtShow ,按键0~9为Button控件,并将其name分别修改为btn_0、btn_1、btn_2、btn_3、btn_4、btn_5、btn_6、btn_7、btn_8、btn_9;按键【负数】的name值修改为btn_sign,按键【.】的name修改为btn_dot,按键【+ - * /】的name值分别修改为btn_add、btn_sub、btn_mul、btn_div,按键【=】的name值修改为btn_equ,按键【倒数】的name值修改为btn_rev,按键【平方】的name值修改为btn_sqr,按键【开方】的name值修改为btn_sqrt。右边的计算器图片空间是PictureBox,作者博客控件是LinkLabel,可以不添加,以上所有控件均可按照需求添加,只保留自己需要的按钮控件和textbox控件即可。
代码部分(含解释),采用switch多分支语句编写
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace Calc
{
///
/// QQ:479340056 温柔一刀C#简易计算器的实现
///
public class CalcForm : System.Windows.Forms.Form
{
private System.Windows.Forms.Button btn_0;
private System.Windows.Forms.Button btn_1;
private System.Windows.Forms.Button btn_2;
private System.Windows.Forms.Button btn_3;
private System.Windows.Forms.Button btn_4;
private System.Windows.Forms.Button btn_5;
private System.Windows.Forms.Button btn_6;
private System.Windows.Forms.Button btn_7;
private System.Windows.Forms.Button btn_8;
private System.Windows.Forms.Button btn_9;
private System.Windows.Forms.Button btn_add;
private System.Windows.Forms.Button btn_sub;
private System.Windows.Forms.Button btn_mul;
private System.Windows.Forms.Button btn_div;
private System.Windows.Forms.Button btn_sqrt;
private System.Windows.Forms.Button btn_sign;
private System.Windows.Forms.Button btn_equ;
private System.Windows.Forms.Button btn_dot;
private System.Windows.Forms.Button btn_rev;
private System.Windows.Forms.TextBox txtShow;
private System.Windows.Forms.Button btn_sqr;
private PictureBox pictureBox1;
private LinkLabel linkLabel1;
///
/// 必需的设计器变量。
///
private System.ComponentModel.Container components = null;
public CalcForm()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在InitializeComponent 调用后添加任何构造函数代码
//
}
///
/// 清理所有正在使用的资源。
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// 设计器支持所需的方法- 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CalcForm));
this.btn_9 = new System.Windows.Forms.Button();
this.txtShow = new System.Windows.Forms.TextBox();
this.btn_8 = new System.Windows.Forms.Button();
this.btn_7 = new System.Windows.Forms.Button();
this.btn_div = new System.Windows.Forms.Button();
this.btn_sqrt = new System.Windows.Forms.Button();
this.btn_4 = new System.Windows.Forms.Button();
this.btn_5 = new System.Windows.Forms.Button();
this.btn_6 = new System.Windows.Forms.Button();
this.btn_1 = new System.Windows.Forms.Button();
this.btn_2 = new System.Windows.Forms.Button();
this.btn_3 = new System.Windows.Forms.Button();
this.btn_0 = new System.Windows.Forms.Button();
this.btn_mul = new System.Windows.Forms.Button();
this.btn_sub = new System.Windows.Forms.Button();
this.btn_sign = new System.Windows.Forms.Button();
this.btn_equ = new System.Windows.Forms.Button();
this.btn_add = new System.Windows.Forms.Button();
this.btn_dot = new System.Windows.Forms.Button();
this.btn_sqr = new System.Windows.Forms.Button();
this.btn_rev = new System.Windows.Forms.Button();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// btn_9
//
this.btn_9.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_9.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_9.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_9.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_9.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_9.ForeColor = System.Drawing.Color.Black;
this.btn_9.Location = new System.Drawing.Point(126, 37);
this.btn_9.Name = "btn_9";
this.btn_9.Size = new System.Drawing.Size(59, 31);
this.btn_9.TabIndex = 0;
this.btn_9.Tag = "9";
this.btn_9.Text = "9";
this.btn_9.UseVisualStyleBackColor = false;
this.btn_9.Click += new System.EventHandler(this.btn_0_Click);
//
// txtShow
//
this.txtShow.Location = new System.Drawing.Point(4, 6);
this.txtShow.Name = "txtShow";
this.txtShow.ReadOnly = true;
this.txtShow.Size = new System.Drawing.Size(242, 21);
this.txtShow.TabIndex = 1;
this.txtShow.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
//
// btn_8
//
this.btn_8.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_8.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_8.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_8.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_8.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_8.ForeColor = System.Drawing.Color.Black;
this.btn_8.Location = new System.Drawing.Point(66, 37);
this.btn_8.Name = "btn_8";
this.btn_8.Size = new System.Drawing.Size(59, 31);
this.btn_8.TabIndex = 2;
this.btn_8.Tag = "8";
this.btn_8.Text = "8";
this.btn_8.UseVisualStyleBackColor = false;
this.btn_8.Click += new System.EventHandler(this.btn_0_Click);
//
// btn_7
//
this.btn_7.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_7.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_7.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_7.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_7.ForeColor = System.Drawing.Color.Black;
this.btn_7.Location = new System.Drawing.Point(4, 37);
this.btn_7.Name = "btn_7";
this.btn_7.Size = new System.Drawing.Size(59, 31);
this.btn_7.TabIndex = 3;
this.btn_7.Tag = "7";
this.btn_7.Text = "7";
this.btn_7.UseVisualStyleBackColor = false;
this.btn_7.Click += new System.EventHandler(this.btn_0_Click);
//
// btn_div
//
this.btn_div.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_div.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_div.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_div.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_div.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_div.ForeColor = System.Drawing.Color.Red;
this.btn_div.Location = new System.Drawing.Point(187, 37);
this.btn_div.Name = "btn_div";
this.btn_div.Size = new System.Drawing.Size(59, 31);
this.btn_div.TabIndex = 4;
this.btn_div.Text = "/";
this.btn_div.UseVisualStyleBackColor = false;
this.btn_div.Click += new System.EventHandler(this.btn_div_Click);
//
// btn_sqrt
//
this.btn_sqrt.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_sqrt.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_sqrt.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_sqrt.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_sqrt.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_sqrt.ForeColor = System.Drawing.Color.Black;
this.btn_sqrt.Location = new System.Drawing.Point(253, 37);
this.btn_sqrt.Name = "btn_sqrt";
this.btn_sqrt.Size = new System.Drawing.Size(59, 31);
this.btn_sqrt.TabIndex = 5;
this.btn_sqrt.Text = "开方";
this.btn_sqrt.UseVisualStyleBackColor = false;
this.btn_sqrt.Click += new System.EventHandler(this.btn_sqrt_Click);
//
// btn_4
//
this.btn_4.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_4.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_4.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_4.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_4.ForeColor = System.Drawing.Color.Black;
this.btn_4.Location = new System.Drawing.Point(4, 72);
this.btn_4.Name = "btn_4";
this.btn_4.Size = new System.Drawing.Size(59, 31);
this.btn_4.TabIndex = 6;
this.btn_4.Tag = "4";
this.btn_4.Text = "4";
this.btn_4.UseVisualStyleBackColor = false;
this.btn_4.Click += new System.EventHandler(this.btn_0_Click);
//
// btn_5
//
this.btn_5.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_5.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_5.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_5.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_5.ForeColor = System.Drawing.Color.Black;
this.btn_5.Location = new System.Drawing.Point(66, 72);
this.btn_5.Name = "btn_5";
this.btn_5.Size = new System.Drawing.Size(59, 31);
this.btn_5.TabIndex = 7;
this.btn_5.Tag = "5";
this.btn_5.Text = "5";
this.btn_5.UseVisualStyleBackColor = false;
this.btn_5.Click += new System.EventHandler(this.btn_0_Click);
//
// btn_6
//
this.btn_6.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_6.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_6.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_6.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_6.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_6.ForeColor = System.Drawing.Color.Black;
this.btn_6.Location = new System.Drawing.Point(126, 72);
this.btn_6.Name = "btn_6";
this.btn_6.Size = new System.Drawing.Size(59, 31);
this.btn_6.TabIndex = 8;
this.btn_6.Tag = "6";
this.btn_6.Text = "6";
this.btn_6.UseVisualStyleBackColor = false;
this.btn_6.Click += new System.EventHandler(this.btn_0_Click);
//
// btn_1
//
this.btn_1.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_1.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_1.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_1.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_1.ForeColor = System.Drawing.Color.Black;
this.btn_1.Location = new System.Drawing.Point(4, 108);
this.btn_1.Name = "btn_1";
this.btn_1.Size = new System.Drawing.Size(59, 31);
this.btn_1.TabIndex = 9;
this.btn_1.Tag = "1";
this.btn_1.Text = "1";
this.btn_1.UseVisualStyleBackColor = false;
this.btn_1.Click += new System.EventHandler(this.btn_0_Click);
//
// btn_2
//
this.btn_2.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_2.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_2.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_2.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_2.ForeColor = System.Drawing.Color.Black;
this.btn_2.Location = new System.Drawing.Point(66, 108);
this.btn_2.Name = "btn_2";
this.btn_2.Size = new System.Drawing.Size(59, 31);
this.btn_2.TabIndex = 10;
this.btn_2.Tag = "2";
this.btn_2.Text = "2";
this.btn_2.UseVisualStyleBackColor = false;
this.btn_2.Click += new System.EventHandler(this.btn_0_Click);
//
// btn_3
//
this.btn_3.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_3.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_3.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_3.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_3.ForeColor = System.Drawing.Color.Black;
this.btn_3.Location = new System.Drawing.Point(126, 108);
this.btn_3.Name = "btn_3";
this.btn_3.Size = new System.Drawing.Size(59, 31);
this.btn_3.TabIndex = 11;
this.btn_3.Tag = "3";
this.btn_3.Text = "3";
this.btn_3.UseVisualStyleBackColor = false;
this.btn_3.Click += new System.EventHandler(this.btn_0_Click);
//
// btn_0
//
this.btn_0.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_0.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_0.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_0.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_0.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_0.ForeColor = System.Drawing.Color.Black;
this.btn_0.Location = new System.Drawing.Point(4, 143);
this.btn_0.Name = "btn_0";
this.btn_0.Size = new System.Drawing.Size(59, 31);
this.btn_0.TabIndex = 12;
this.btn_0.Tag = "0";
this.btn_0.Text = "0";
this.btn_0.UseVisualStyleBackColor = false;
this.btn_0.Click += new System.EventHandler(this.btn_0_Click);
//
// btn_mul
//
this.btn_mul.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_mul.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_mul.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_mul.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_mul.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_mul.ForeColor = System.Drawing.Color.Red;
this.btn_mul.Location = new System.Drawing.Point(187, 72);
this.btn_mul.Name = "btn_mul";
this.btn_mul.Size = new System.Drawing.Size(59, 31);
this.btn_mul.TabIndex = 13;
this.btn_mul.Text = "*";
this.btn_mul.UseVisualStyleBackColor = false;
this.btn_mul.Click += new System.EventHandler(this.btn_mul_Click);
//
// btn_sub
//
this.btn_sub.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_sub.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_sub.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_sub.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_sub.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_sub.ForeColor = System.Drawing.Color.Red;
this.btn_sub.Location = new System.Drawing.Point(187, 108);
this.btn_sub.Name = "btn_sub";
this.btn_sub.Size = new System.Drawing.Size(59, 31);
this.btn_sub.TabIndex = 14;
this.btn_sub.Text = "-";
this.btn_sub.UseVisualStyleBackColor = false;
this.btn_sub.Click += new System.EventHandler(this.btn_sub_Click);
//
// btn_sign
//
this.btn_sign.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_sign.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_sign.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_sign.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_sign.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_sign.ForeColor = System.Drawing.Color.Red;
this.btn_sign.Location = new System.Drawing.Point(66, 143);
this.btn_sign.Name = "btn_sign";
this.btn_sign.Size = new System.Drawing.Size(59, 31);
this.btn_sign.TabIndex = 15;
this.btn_sign.Text = "负数";
this.btn_sign.UseVisualStyleBackColor = false;
this.btn_sign.Click += new System.EventHandler(this.btn_sign_Click);
//
// btn_equ
//
this.btn_equ.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_equ.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_equ.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_equ.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_equ.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_equ.ForeColor = System.Drawing.Color.Red;
this.btn_equ.Location = new System.Drawing.Point(253, 143);
this.btn_equ.Name = "btn_equ";
this.btn_equ.Size = new System.Drawing.Size(59, 31);
this.btn_equ.TabIndex = 16;
this.btn_equ.Text = "=";
this.btn_equ.UseVisualStyleBackColor = false;
this.btn_equ.Click += new System.EventHandler(this.btn_equ_Click);
//
// btn_add
//
this.btn_add.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_add.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_add.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_add.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_add.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_add.ForeColor = System.Drawing.Color.Red;
this.btn_add.Location = new System.Drawing.Point(187, 143);
this.btn_add.Name = "btn_add";
this.btn_add.Size = new System.Drawing.Size(59, 31);
this.btn_add.TabIndex = 17;
this.btn_add.Text = "+";
this.btn_add.UseVisualStyleBackColor = false;
this.btn_add.Click += new System.EventHandler(this.btn_add_Click);
//
// btn_dot
//
this.btn_dot.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_dot.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_dot.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_dot.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_dot.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_dot.ForeColor = System.Drawing.Color.Black;
this.btn_dot.Location = new System.Drawing.Point(126, 143);
this.btn_dot.Name = "btn_dot";
this.btn_dot.Size = new System.Drawing.Size(59, 31);
this.btn_dot.TabIndex = 18;
this.btn_dot.Text = ".";
this.btn_dot.UseVisualStyleBackColor = false;
this.btn_dot.Click += new System.EventHandler(this.btn_dot_Click);
//
// btn_sqr
//
this.btn_sqr.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_sqr.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_sqr.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_sqr.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_sqr.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_sqr.ForeColor = System.Drawing.Color.Black;
this.btn_sqr.Location = new System.Drawing.Point(253, 72);
this.btn_sqr.Name = "btn_sqr";
this.btn_sqr.Size = new System.Drawing.Size(59, 31);
this.btn_sqr.TabIndex = 19;
this.btn_sqr.Text = "平方";
this.btn_sqr.UseVisualStyleBackColor = false;
this.btn_sqr.Click += new System.EventHandler(this.btn_sqr_Click);
//
// btn_rev
//
this.btn_rev.BackColor = System.Drawing.SystemColors.ActiveBorder;
this.btn_rev.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.btn_rev.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonFace;
this.btn_rev.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btn_rev.Font = new System.Drawing.Font("黑体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btn_rev.ForeColor = System.Drawing.Color.Red;
this.btn_rev.Location = new System.Drawing.Point(253, 108);
this.btn_rev.Name = "btn_rev";
this.btn_rev.Size = new System.Drawing.Size(59, 31);
this.btn_rev.TabIndex = 20;
this.btn_rev.Text = "倒数";
this.btn_rev.UseVisualStyleBackColor = false;
this.btn_rev.Click += new System.EventHandler(this.btn_rev_Click);
//
// pictureBox1
//
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(319, 6);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(100, 168);
this.pictureBox1.TabIndex = 21;
this.pictureBox1.TabStop = false;
//
// linkLabel1
//
this.linkLabel1.AutoSize = true;
this.linkLabel1.Location = new System.Drawing.Point(253, 13);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(53, 12);
this.linkLabel1.TabIndex = 22;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "作者博客";
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
//
// CalcForm
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(427, 181);
this.Controls.Add(this.linkLabel1);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.btn_rev);
this.Controls.Add(this.btn_sqr);
this.Controls.Add(this.btn_dot);
this.Controls.Add(this.btn_add);
this.Controls.Add(this.btn_equ);
this.Controls.Add(this.btn_sign);
this.Controls.Add(this.btn_sub);
this.Controls.Add(this.btn_mul);
this.Controls.Add(this.btn_0);
this.Controls.Add(this.btn_3);
this.Controls.Add(this.btn_2);
this.Controls.Add(this.btn_1);
this.Controls.Add(this.btn_6);
this.Controls.Add(this.btn_5);
this.Controls.Add(this.btn_4);
this.Controls.Add(this.btn_sqrt);
this.Controls.Add(this.btn_div);
this.Controls.Add(this.btn_7);
this.Controls.Add(this.btn_8);
this.Controls.Add(this.txtShow);
this.Controls.Add(this.btn_9);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.Name = "CalcForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "C#编写计算器by QQ:479340056 ";
this.Load += new System.EventHandler(this.CalcForm_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
public const int NULL = 0; // 定义操作码
public const int ADD = 1;
public const int SUB = 2;
public const int MUL = 3;
public const int DIV = 4;
public const int SQR = 5;
public const int SQRT = 6;
public const int NODOT = 0; // 定义是否点击了小数点
public const int HASDOT = 1;
private double res = 0; // 记录结果数
private double tmp = 0; // 当前输入的操作数
private int opt = NULL; // 记录操作码
private int dot = NODOT; // 记录是否点击了小数点
private int num = 0; // 记录输入操作数的个数
private int dotnum = 0; // 记录小数点部分的个数
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application.Run(new CalcForm());
}
///
/// 当点击一个数字按钮的时候,需要进行判断,如果没有点击
/// 小数点,那么就把原来的数值扩大倍后再加上当前的数值,
/// 如果点击了小数点,那么就将当前的数值除以一个权数,再
/// 加上原来的数值,得到新的数值。
///
///
///
private void btn_0_Click(object sender, System.EventArgs e)
{
System.Windows.Forms.Button btnTmp;
double i;
btnTmp = sender as System.Windows.Forms.Button;
if (btnTmp != null)
{
if (dot == NODOT)
{
// 没有点击小数点
i = double.Parse(btnTmp.Tag.ToString());
tmp = tmp * 10 + i;
txtShow.Text = tmp.ToString();
}
else
{
// 点击了小数点
dotnum++;
// 生成小数部分的新的数值
i = double.Parse(btnTmp.Tag.ToString()) / System.Math.Pow(10,dotnum);
tmp = tmp + i;
txtShow.Text = tmp.ToString();
}
}
}
private void btn_equ_Click(object sender, System.EventArgs e)
{
// 生成结果
if (num == 0)
{
res = 0;
tmp = 0;
txtShow.Text = res.ToString();
return;
}
switch (opt)
{
// 加法
case ADD:
res = res + tmp;
break;
// 减法
case SUB:
res = res - tmp;
break;
// 乘法
case MUL:
res = res * tmp;
break;
// 除法
case DIV:
res = res / tmp;
break;
// 平方
case SQR:
res = tmp * tmp;
break;
// 平方根
case SQRT:
res = System.Math.Sqrt(tmp);
break;
default:
return;
}
txtShow.Text = res.ToString();
opt = NULL;
res = 0;
num = 0;
}
private void btn_div_Click(object sender, System.EventArgs e)
{
// 除法运算
opt = DIV;
if (num != 0)
{
if (tmp != 0)
res = res / tmp;
}
else
res = tmp;
num++;
tmp = 0;
txtShow.Text = res.ToString();
}
private void btn_mul_Click(object sender, System.EventArgs e)
{
// 乘法运算
opt = MUL;
if (num != 0)
res = res * tmp;
else
res = tmp;
num++;
tmp = 0;
txtShow.Text = res.ToString();
}
private void btn_sub_Click(object sender, System.EventArgs e)
{
// 减法运算
opt = SUB;
if (num != 0)
res = res - tmp;
else
res = tmp;
num++;
tmp = 0;
txtShow.Text = res.ToString();
}
private void btn_add_Click(object sender, System.EventArgs e)
{
// 加法运算
opt = ADD;
if (num != 0)
res = res + tmp;
else
res = tmp;
num++;
tmp = 0;
txtShow.Text = res.ToString();
}
private void btn_sqrt_Click(object sender, System.EventArgs e)
{
// 开方运算
if (tmp > 0)
{
tmp = Math.Sqrt(tmp);
txtShow.Text = tmp.ToString();
}
}
private void btn_sqr_Click(object sender, System.EventArgs e)
{
// 平方运算
tmp = tmp * tmp;
txtShow.Text = tmp.ToString();
}
private void btn_rev_Click(object sender, System.EventArgs e)
{
// 求倒数运算
tmp = 1 / tmp;
txtShow.Text = tmp.ToString();
}
private void btn_dot_Click(object sender, System.EventArgs e)
{
// 点击了小数点
dot = HASDOT;
dotnum = 0;
}
private void btn_sign_Click(object sender, System.EventArgs e)
{
// 点击了符号运算
tmp = -tmp;
txtShow.Text = tmp.ToString();
}
private void CalcForm_Load(object sender, EventArgs e)
{
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("http://479340056.qzone.qq.com");
}
}
}
说明
这里只提供了一种方法,另外以上代码中有很多是用于字体颜色设置,可以精简掉,很容易分辨 。
linkLabel1单击打开网页的事件
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("http://479340056.qzone.qq.com");
}
是一般用不到的。
尽量不要直接粘贴代码到Form1.cs,自己动手,丰衣足食···