Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 低于所需数字时的文本框验证_C#_Winforms_Textbox - Fatal编程技术网

C# 低于所需数字时的文本框验证

C# 低于所需数字时的文本框验证,c#,winforms,textbox,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.Te

在我的文本框中,接受的值应该在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";
}
private void tbox\u Power\u TextChanged(对象发送方,事件参数e)
{
TextBox tb=发送方作为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秒)后进行所需的处理。您可以使用
计时器
实例,将延迟设置为5000,并将其设置为
LostFocus
事件处理程序。在
Timer
Tick
事件中,您可以执行任何您想要的处理。

我能想到的最佳解决方案是允许用户键入所需的数字,然后在短时间(比如说,5秒)后执行所需的处理。您可以使用
计时器
实例,将延迟设置为5000,并将其设置为
LostFocus
事件处理程序。在
定时器
勾选
事件中,您可以执行任何您想要的处理。

您可以始终使用从用户处获取数字输入。您可以设置
最小值
最大值
值,而无需进行任何解析。

您可以始终使用从用户处获取数字输入。您可以设置
最小值
最大值
值,而无需进行任何解析。

您可以使用LostFocus事件。您可以使用LostFocus事件。我这样做了,它起了作用。我把验证过程推迟了2秒,我这样做了,它成功了。我将验证过程延迟了2秒。这是一个很好的建议。我会试试的。谢谢。这是一个很好的建议。我会试试的。谢谢