【问题标题】:Retrieving "invalid" value from a NumericUpDown Validating event从 NumericUpDown 验证事件中检索“无效”值
【发布时间】:2010-05-21 19:12:59
【问题描述】:

当用户输入大于numericUpDown.Maximum 的值时,控件的值会自动设置为最大值。当发生这种情况时,我想显示一个 MessageBox,但我不能这样做,因为 control.Valuecontrol.Text 已经包含了自动设置的值,最大值,当 Validating 引发事件时。

private void numericUpDown_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
       NumericUpDown control = sender as NumericUpDown;
       decimal newValue = control.Value;

       // decimal newValue;
       // decimal.TryParse(control.Text, out newValue)

       if (newValue > control.Maximum || newValue < control.Minimum)
       {
            // MessageBox

        }

}

谢谢

【问题讨论】:

标签: c# .net winforms numericupdown


【解决方案1】:

用消息框打她的耳光来唠叨用户并不是最好的用户界面。但是您可以通过将最小值和最大值设置为更小/更大并检查 ValueChanged 事件中的值来轻松做到这一点。

【讨论】:

  • 您是否建议在不通知的情况下更改值?我同意消息框可能很烦人。但使用 ASP.NET 之类的验证控件既能提供更多信息,也能减少烦人。
  • 没有。这个问题和asp.net没有任何关系
  • “ASP.NET like”验证控件,我的意思是那里使用的方法不是控件本身。实施是可能的,并已在我对该问题的评论中的链接中进行了讨论。
猜你喜欢
  • 1970-01-01
  • 2021-12-28
  • 2013-08-22
  • 2013-07-06
  • 2015-11-03
相关资源
最近更新 更多