Textbox1最好的texbox2

时间:2016-10-10 21:23:51

标签: c# wpf

我有这个代码用于找到Textbox1最伟大的Textbox2 代码工作,但如果我使“0”或“0,5”有一个错误(如果有“,”)。

任何人都有接受“0”或“,”的解决方案?

    public partial class MainWindow : Window
{
    int point1, point2;
    int point3, point4;

    public MainWindow()
    {
        InitializeComponent();
        point1 = point2 = 0;
        point3 = point4 = 0;
    }

    private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
    {
        if (textBox1.Text != "") { 
        point1 = int.Parse(textBox1.Text);
        int tt;
        int uu;
        tt = point1 - point2;
        uu = point3 - point4;
        if (tt >=uu)
        texboxxol1.Background = Brushes.Yellow;
        texboxxol2.Background = Brushes.White;
        }
    }

    private void textBox2_TextChanged(object sender, TextChangedEventArgs e)
    {
        if (textBox2.Text != "")
        {
            point2 = int.Parse(textBox2.Text);

            int tt;
            int uu;
            tt = point1 - point2;
            uu = point2 - point1;
            if (uu >= tt)
            texboxxol2.Background = Brushes.White;
            texboxxol1.Background = Brushes.Yellow;
        }
    }

1 个答案:

答案 0 :(得分:1)

首先,如果您希望能够比较0,5之类的数字,则需要使用与整数不同的数据类型。 float将是一个良好的开端。 Here是一个包含所有内置数据类型C#的表。

第二:单独使用float不会解决您的问题,因为您使用TextChanged的{​​{1}}事件,每次用户在TextBox中输入一个数字时都会触发该事件。即使用户仅输入TextBox之类的1234567890,该事件也会被触发10次。

可能是您应该使用按钮,以便在将整个号码输入int时,可以执行一次事件中的代码。 您还可以使用TextBox事件,以便用户可以按Enter确认输入。 Here是一篇文章,展示了如何做到这一点。