低于所需数量的文本框验证

时间:2019-03-19 05:50:01

标签: c# winforms textbox

在我的文本框中,接受的值应该在80-160的范围内。当用户输入的数字大于160时没有问题。但是对于80,当用户开始键入时,它会自动更改为80,因为1位整数小于80。在这里应该采取什么方法?

private void tbox_Power_TextChanged(object sender, EventArgs e)
{
    TextBox tb = sender as TextBox;
    if (tb.Text != String.Empty && int.Parse(tb.Text) > 160)
        tb.Text = "160";
    else if (tb.Text != String.Empty && int.Parse(tb.Text) < 80)
        tb.Text = "80";
    else if (tb.Text == String.Empty)
        tb.Text = "0";
}

2 个答案:

答案 0 :(得分:1)

我能想到的最好的解决方案是允许用户键入所需的数字,然后过一会儿(例如5秒钟)以进行所需的处理。您可以使用Timer实例,将延迟设置为5000,然后将其设置为LostFocus事件处理程序。在Timer的{​​{1}}事件中,您可以执行所需的任何处理。

答案 1 :(得分:1)

您始终可以使用NumericUpDown control从用户那里获取数字输入。您可以设置MinimumMaximum的值,而不必进行任何解析。