目标:通过Visual Studio做一个小计算器.
首先,新建一个项目:C#,Windows,桌面,Windows窗体应用,设置项目名称,位置;
创建完成,出现如下界面:左侧的工具箱中有公共空间,可以看到其中一些是曾经学习过的,按钮Button,标签Lable等。和其他不同的是,这些控件可以被拖拉至设计窗口界面。
设置一个计算机界面:计算机中的1,2,3,4等按钮为Button,输入行为Textbox;(按钮的Name与Text尽量对应)界面如下:
双击按钮,就会出现该按钮的相应代码,包括按钮的Click事件,其中包含点击按钮会发生的事。
代码如下:
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 Calculator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double i=-1,j,k,t=0;
private void button1_Click(object sender, EventArgs e)
{
//MessageBox.Show("1");
textBox1.Text += "1";
}
private void button4_Click(object sender, EventArgs e)
{
textBox1.Text += "4";
}
private void button9_Click(object sender, EventArgs e)
{
textBox1.Text += "9";
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text += "2";
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text += "3";
}
private void button5_Click(object sender, EventArgs e)
{
textBox1.Text += "5";
}
private void button6_Click(object sender, EventArgs e)
{
textBox1.Text += "6";
}
private void button7_Click(object sender, EventArgs e)
{
textBox1.Text += "7";
}
private void button8_Click(object sender, EventArgs e)
{
textBox1.Text += "8";
}
private void button0_Click(object sender, EventArgs e)
{
textBox1.Text += "0";
}
private void buttondian_Click(object sender, EventArgs e)
{
textBox1.Text += ".";
}
private void buttonchu_Click(object sender, EventArgs e)
{
if (i == -1) //第一次除运算
i = Convert.ToDouble(textBox1.Text);
else //多次
{
j = Convert.ToDouble(textBox1.Text);
if (t == 3)
i = i * j;
else if (t == 4)
i = i / j;
}
t = 4;
textBox1.Text = "";
}
private void buttoncheng_Click(object sender, EventArgs e)
{
if (i == -1) //第一次乘运算
i = Convert.ToDouble(textBox1.Text);
else
{
j = Convert.ToDouble(textBox1.Text);
if (t == 3)
i = i * j;
else if (t == 4)
i = i / j;
}
t = 3;
textBox1.Text = "";
}
private void buttonjisn_Click(object sender, EventArgs e)
{
if (i == -1) //第一次加运算
i = Convert.ToDouble(textBox1.Text);
else //更多的加运算
{
j = Convert.ToDouble(textBox1.Text);
if (t == 1)
i = i + j;
else if (t == 2)
i = i - j;
else if (t == 3)
i = i * j;
else if (t == 4)
i = i / j;
}
t = 2;
textBox1.Text = "";
}
private void buttonplus_Click(object sender, EventArgs e)
{
if (i == -1) //第一次加运算
i = Convert.ToDouble(textBox1.Text);
else //更多的加运算
{
j = Convert.ToDouble(textBox1.Text);
if (t == 1)
i = i + j;
else if (t == 2)
i = i - j;
else if (t == 3)
i = i * j;
else if (t == 4)
i = i / j;
}
t = 1;
textBox1.Text = "";
}
private void button1x_Click(object sender, EventArgs e)
{
i = Convert.ToDouble(textBox1.Text);
k = 1 / i;
textBox1.Text = k.ToString();
}
private void buttonequal_Click(object sender, EventArgs e)
{
j = Convert.ToDouble(textBox1.Text);
if (t == 1)
{
k = i + j; textBox1.Text = k.ToString();
}
else if (t == 2)
{
k = i - j; textBox1.Text = k.ToString();
}
else if (t == 3)
{
k = i * j; textBox1.Text = k.ToString();
}
else if (t == 4)
{
if (j != 0)
{
k = i / j; textBox1.Text = k.ToString();
}
else
textBox1.Text = ("除数不能为零");
}
i = -1;
}
private void buttonc_Click(object sender, EventArgs e)
{
textBox1.Text = "";
}
}
}
心得:
做不出来a+b*c或者a+b/c这种。然后其他的就用个别例子测试了一下,可能会有错误。
然后,我觉得用这个软件做一个计算器步骤操作简单好多,还是希望能多了解它一点。