杨得胜.winfrom实现一年级数学计算
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 FormProject
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
/// <summary>
/// 等于按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//char.IsNumber判断是否为数字,这里只假设都是整数的情况下
//for (int i = 0; i < textBox1.Text.Length; i++)
//{
// if (char.IsNumber(textBox1.Text,i))
// {
// int n1 = Convert.ToInt32(textBox1.Text.Trim());
// }
// else
// {
// MessageBox.Show("只支持整数运算");
// }
//}
//采集数据
int n1 = Convert.ToInt32(textBox1.Text.Trim());
int n2 = int.Parse(textBox2.Text.Trim());
if (comboBox1.SelectedIndex == 0)
{
MessageBox.Show("请选择一个操作符再进行运算!");
}
else
{
int s = 0;
switch (comboBox1.Text)
{
case "+":
s = n1 + n2;
break;
case "-":
s = n1 - n2;
break;
case "*":
s = n1 * n2;
break;
case "/":
if (n2 == 0)
{
MessageBox.Show("除数不能为零!");
}
else
{
s = n1 / n2;
}
break;
default:
MessageBox.Show("未知的运算!");
break;
}
label1.Text = s.ToString();
}
}
/// <summary>
/// 窗体加载时
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form2_Load(object sender, EventArgs e)
{
//给下拉列表框设置默认值
this.comboBox1.SelectedIndex = 0;
}
}
}
用面向对象来实现简易计算器:
添加一个计算类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Calculate
{
public class Cal
{
public double Num1
{
get;
set;
}
public double Num2
{
get;
set;
}
public double Calcu(string operate)
{
double sum = 0;
switch(operate)
{
case "+":
sum = this.Num1 + this.Num2;
break;
case "-":
sum = this.Num1 - this.Num2;
break;
case "*":
sum = this.Num1 * this.Num2;
break;
case "/":
sum = this.Num1 / this.Num2;
break;
}
return sum;
}
}
}
窗体直接引用这个类的实例:
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 Calculate
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Cal cal = new Cal();
cal.Num1 = Convert.ToInt32(textBox1.Text.Trim());
cal.Num2 = int.Parse(textBox2.Text.Trim());
if (comboBox1.SelectedIndex == 0)
{
MessageBox.Show("请选择一个操作符后再执行计算!");
}
else
{
label1.Text = cal.Calcu(comboBox1.Text).ToString();
}
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.SelectedIndex = 0;
}
}
}