我写一个只有加减乘除的简易计算器,做成窗体应用程序,用户在两个textbox里输入第一个数和第二个数,但是我不知道怎么避免用户输入非数值的情况,我希望可以实现:当其中一个textbox输入非数值时,点击运行之后会提示。希望不吝赐教,非常感谢
具体实现可@我
1、效果如下
2、代码如下
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 CalculatorWindows
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int num1 = 0;
int num2 = 0;
string o = comboBox1.Text;
//方法一:使用TryParse,好处,转换失败不会报错
bool flag1 = int.TryParse(textBox1.Text.ToString(), out num1);
if (!flag1)
{
MessageBox.Show("请输入第一个数字!");
return; //结束下面代码执行
}
bool flag2 = int.TryParse(textBox2.Text.ToString(), out num2);
if (!flag2)
{
MessageBox.Show("请输入第二个数字!");
return; //结束下面代码执行
}
if (o == "+")
{
textBox3.Text = (num1 + num2).ToString();
}
else if (o == "-")
{
textBox3.Text = (num1 - num2).ToString();
}
else if (o == "*")
{
textBox3.Text = (num1 * num2).ToString();
}
else if (o == "/")
{
textBox3.Text = (num1 / num2).ToString();
}
}
}
}
用int.TryParse 去判断后台接收到的字符串能否转换为int然后去做相应处理就行了
在textbox的 keypress事件中 判断 e.KeyChar 的值 用 e.Handled 来控制是否输入
我之前的一个博客,设置非零字符输出的。希望可以帮助到你。
https://blog.csdn.net/chulijun3107/article/details/120847257?spm=1001.2014.3001.5502