低于所需数字时的文本框验证
Textbox validation when lower than the desired number
在我的文本框中,接受的值应该在 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";
}
我能想到的最佳解决方案是让用户键入所需的数字,然后在片刻之后(比方说,5 秒)进行所需的处理。您可以使用 Timer
实例,将延迟设置为 5000 并将其设置为 LostFocus
事件处理程序。在 Timer
的 Tick
事件中你可以做任何你想做的处理。
您始终可以使用 NumericUpDown
control 从用户那里获取数字输入。您可以设置 Minimum
和 Maximum
值,并且不必进行任何解析。
在我的文本框中,接受的值应该在 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";
}
我能想到的最佳解决方案是让用户键入所需的数字,然后在片刻之后(比方说,5 秒)进行所需的处理。您可以使用 Timer
实例,将延迟设置为 5000 并将其设置为 LostFocus
事件处理程序。在 Timer
的 Tick
事件中你可以做任何你想做的处理。
您始终可以使用 NumericUpDown
control 从用户那里获取数字输入。您可以设置 Minimum
和 Maximum
值,并且不必进行任何解析。