c#简易计算器,窗体应用程序

我写一个只有加减乘除的简易计算器,做成窗体应用程序,用户在两个textbox里输入第一个数和第二个数,但是我不知道怎么避免用户输入非数值的情况,我希望可以实现:当其中一个textbox输入非数值时,点击运行之后会提示。希望不吝赐教,非常感谢

具体实现可@我
1、效果如下

img

img

img

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