C#实现计算器功能(winform版)攻略
1. 创建WinForm程序
首先需要打开Visual Studio,创建一个新的WinForm项目。创建的时候需要给项目起个名字,比如"Calculator"。
2. 布局UI界面
布局UI界面需要使用到Visual Studio提供的设计器,拖动按钮、文本框等控件到界面上即可。
假设我们需要实现的计算器界面是一个标准的计算器布局,那么可以在设计器中布局如下的控件:
- 一个文本框,用来显示计算器用户输入的数字和计算结果。
- 10个数字按钮,用来输入数字(0-9)。
- 4个基本运算符按钮,用来实现加、减、乘、除。
- 一个小数点按钮,用来输入小数点。
- 一个退格按钮,用来删除最后一个输入的字符。
- 一个清除按钮,用来清除文本框中所有的内容。
3. 给控件添加事件
接下来需要为控件添加事件,使控件能够实现相应的功能。
以数字按钮为例,需要为0-9的数字按钮分别添加事件。在添加事件的方法中,要先判断数字按钮是否是第一个输入的字符,如果是第一个,则清空文本框;如果不是,就需要把输入的字符拼接到文本框的末尾。
private void btnNumber_Click(object sender, EventArgs e)
{
// 判断是否是第一个输入的字符
if (txtResult.Text == "0")
{
txtResult.Text = (sender as Button).Text;
}
else
{
txtResult.Text += (sender as Button).Text;
}
}
类似地,还需要添加其他按钮的事件处理方法,包括基本运算符按钮、小数点按钮、退格按钮、清除按钮等。
4. 实现计算功能
计算功能可以在"="按钮的事件处理方法中实现。在实现计算功能前,首先要清空一下文本框中的所有空格。
private void btnEqual_Click(object sender, EventArgs e)
{
// 清空空格
txtResult.Text = txtResult.Text.Replace(" ", "");
// 计算结果
DataTable dt = new DataTable();
object result = dt.Compute(txtResult.Text, "");
// 显示结果
txtResult.Text = result.ToString();
}
这里使用了DataTable的Compute方法来进行计算,传入的第一个参数就是要计算的表达式,第二个参数是可选的列过滤器,可以为空字符串。
示例1:实现平方根功能
在计算器中添加一个"√"按钮,点击该按钮可以计算输入数字的平方根。
首先需要在上述布局的基础上,添加以下控件:
- 一个用来输入平方根的按钮。
- 一个用来显示计算结果的按钮。
接着需要为平方根按钮添加事件处理方法,实现计算平方根的功能。
计算平方根需要使用Math库提供的方法,以下是实现平方根功能的事件处理方法:
private void btnSqrt_Click(object sender, EventArgs e)
{
// 判断输入是否为空
if (txtResult.Text == string.Empty)
{
return;
}
try
{
double input = double.Parse(txtResult.Text);
double output = Math.Sqrt(input);
txtResult.Text = output.ToString();
}
catch
{
MessageBox.Show("输入无效!");
}
}
示例2:实现阶乘功能
在计算器中添加一个"!"按钮,点击该按钮可以计算输入数字的阶乘。
同样需要在上述布局的基础上,添加以下控件:
- 一个用来输入阶乘的按钮。
- 一个用来显示计算结果的按钮。
计算阶乘的方法可以使用递归来实现,以下是实现阶乘功能的事件处理方法:
private void btnFactorial_Click(object sender, EventArgs e)
{
// 判断输入是否为整数
if (txtResult.Text == string.Empty || !int.TryParse(txtResult.Text, out int n))
{
return;
}
try
{
int result = Factorial(n);
txtResult.Text = result.ToString();
}
catch
{
MessageBox.Show("输入无效!");
}
}
private int Factorial(int n)
{
if (n == 0 || n == 1)
{
return 1;
}
return n * Factorial(n - 1);
}
5. 运行程序
现在可以点击Visual Studio中的运行按钮,启动计算器程序,测试各个功能是否正常工作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现计算器功能(winform版) - Python技术站