【问题标题】:Textbox validation when lower than the desired number低于所需数字时的文​​本框验证
【发布时间】:2019-03-19 05:50:01
【问题描述】:

在我的文本框中,接受的值应该在 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";
}

【问题讨论】:

标签: c# winforms textbox


【解决方案1】:

我能想到的最佳解决方案是让用户输入所需的数字,然后在片刻(例如 5 秒)后进行所需的处理。您可以使用Timer 实例,将延迟设置为5000 并将其设置为LostFocus 事件处理程序。在TimerTick 事件中,你可以做任何你想做的处理。

【讨论】:

  • 我这样做了,它奏效了。我将验证过程延迟了 2 秒。
【解决方案2】:

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

【讨论】:

  • 这是一个很好的建议。会尝试的。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 1970-01-01
  • 2018-10-31
相关资源
最近更新 更多