在文本框之间进行值比较

Making Value Comparison Between Textboxes

有几个文本框,每个文本框的值依次递增。我是说

textbox1.Text

哪个事件可以用来验证这个条件。在下面的代码中,我使用了 textChanged 但在场景中,例如 textbox1.Text=30 中的值之后,当我开始输入 textbox1.Text 值 5(我打算输入 59)时,焦点跳转到 textbox1.比较两个文本框的正确事件是什么。

    private void textbox2_TextChanged(object sender, EventArgs e)
    {
        if (double.Parse(textbox1.Text) > double.Parse(textbox2.Text))
        {
            textbox1.Focus();
            errProvider1.SetError(textbox1, "Error");
        }
    }

首先:删除 textbox1.Focus(),但保留错误的视觉部分(我想这是由 处理的错误提供者.

可以在用户输入值时检查值,但不要中断流程(即移动焦点)!

正如 Tim 所建议的,您可以将代码移至 Leave 事件,但如果用户按下按钮(或更糟的是使用快捷方式),则可能不会触发此事件。