在我的文本框中,接受的值应该在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";
}
答案 0 :(得分:1)
我能想到的最好的解决方案是允许用户键入所需的数字,然后过一会儿(例如5秒钟)以进行所需的处理。您可以使用Timer
实例,将延迟设置为5000,然后将其设置为LostFocus
事件处理程序。在Timer
的{{1}}事件中,您可以执行所需的任何处理。
答案 1 :(得分:1)
您始终可以使用NumericUpDown
control从用户那里获取数字输入。您可以设置Minimum
和Maximum
的值,而不必进行任何解析。