如何在VS中使用Windows窗体应用编写一个计算器?
Windows窗体应用使用的编程语言主要是微软自家的C#开发语言,不管学习任何语言,通过编写一些小项目,对于语言的理解和运用是很有帮助的;
而计算器就是一个很好的小项目,我之前用过C++来编写计算器,但是相比C#来说,C++要麻烦的多,要设计文法,还要设计文法,考虑容错,不想WinForm窗体那样来的简单粗暴;
1. 首先,通过拖拽控件设计好布局;
这里我主要使用了一个Textbox控件,和十九个Button控件,摆好控件后就把Button控件的text属性设置好;
2. 然后开始编写后台的代码逻辑的实现部分;
using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Calculater{public partial class Form1 : Form{double a = 0;double b = 0;bool c = false;string d;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){}//button 0private void button2_Click(object sender, EventArgs e){if (c == true){ textBox1.Text = "";c = false;}textBox1.Text += "0";if (d == "/"){textBox1.Clear();MessageBox.Show("除数不能为零", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);}}private void button5_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += "1";}private void button6_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += "2";}private void button7_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += "3";}private void button9_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += "4";}private void button10_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += "5";}private void button11_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += "6";}private void button13_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += "7";}private void button14_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += "8";}private void button15_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += "9";}private void button1_Click(object sender, EventArgs e){if (c == true){textBox1.Text = "";c = false;}textBox1.Text += ".";}private void button4_Click(object sender, EventArgs e){c = true;b = double.Parse(textBox1.Text);d = "+";}private void button8_Click(object sender, EventArgs e){c = true;b = double.Parse(textBox1.Text);d = "-";}private void button12_Click(object sender, EventArgs e){c = true;b = double.Parse(textBox1.Text);d = "*";}private void button16_Click(object sender, EventArgs e){c = true;b = double.Parse(textBox1.Text);d = "/";}private void button21_Click(object sender, EventArgs e){c = true;b = double.Parse(textBox1.Text);d = "x2";}private void button20_Click(object sender, EventArgs e){c = true;b = double.Parse(textBox1.Text);d = "sqrt";}private void button3_Click(object sender, EventArgs e){switch (d){ case "+":a = b + double.Parse(textBox1.Text);break;case "-":a = b - double.Parse(textBox1.Text);break;case "*":a = b * double.Parse(textBox1.Text);break;case "/":a = b / double.Parse(textBox1.Text);break;case "x2":a = b * double.Parse(textBox1.Text);break;case "sqrt":a = Math.Sqrt(b);break;}textBox1.Text = a + "";c = true;}private void button17_Click(object sender, EventArgs e){textBox1.Text = "";}}}
注意:我这里的控件名跟你的可能不一致!
如有错误,请指正,谢谢。