计算器能够简单实现加、减、乘、除、开方、求余这几个计算功能。实现起来也不会太难,但还是要花一些时间的。(源码放在文末)
实现:首先建一个窗体应用程序,然后开始无脑拖控件,怎么布局看个人的。
先放上我的
注意用到了两个Groupbox分别框住左右两边的数字和功能实现按钮,下面是两个textbox,上面一个主要用来显示过程,下面一个主要是输入和结果显示。
把每个数字控件的text设置成对应的数字,然后可以把这些点击事件附加到一个按钮点击传值事件上,就能够实现统一的传值,而不需要分别操作每个按钮点击事件。
private void EnentHander_ButtonClick(object sender,EventArgs e){Button bt = sender as Button;if (lastButtonClick == 0 || textBox2.Text == \"\"){textBox2.Text = bt.Text;}else{textBox2.Text += bt.Text;}if (bt.Text == \"PI\"){textBox2.Text = \"3.141592654\";}lastButtonClick = 1;}private void Form1_Load(object sender, EventArgs e){this.textBox1.Text = \"\";this.textBox2.Text = \"\";num_0.Click += new EventHandler(EnentHander_ButtonClick);num_1.Click += new EventHandler(EnentHander_ButtonClick);num_2.Click += new EventHandler(EnentHander_ButtonClick);num_3.Click += new EventHandler(EnentHander_ButtonClick);num_4.Click += new EventHandler(EnentHander_ButtonClick);num_5.Click += new EventHandler(EnentHander_ButtonClick);num_6.Click += new EventHandler(EnentHander_ButtonClick);num_7.Click += new EventHandler(EnentHander_ButtonClick);num_8.Click += new EventHandler(EnentHander_ButtonClick);num_9.Click += new EventHandler(EnentHander_ButtonClick);sym_point.Click += new EventHandler(EnentHander_ButtonClick);num_PI.Click += new EventHandler(EnentHander_ButtonClick);}
然后继续实现各个计算功能,这就不详细展开了。
最后附带退格和归零的功能实现,也非常简单。
private void 退格_Click(object sender, EventArgs e) //退格{if (textBox2.Text.Length > 0)textBox2.Text = textBox2.Text.Substring(0, textBox2.Text.Length - 1);else{MessageBox.Show(\"已经清除所有数字,请勿重复操作!\");}}
private void 归零_Click(object sender, EventArgs e) //归零{textBox1.Text = string.Empty;textBox2.Text = string.Empty;First_Number = string.Empty;Second_Number = string.Empty;}
最后来看一下效果图
————————————————————————————
源码下载