6

如何检查用户是否将NumericUpDown控件留空,删除其上的值?所以我可以重新分配它的值 0。

4

7 回答 7

10
if(NumericUpDown1.Text == "")
{
     // If the value in the numeric updown is an empty string, replace with 0.
     NumericUpDown1.Text = "0";
}
于 2013-02-25T18:54:08.540 回答
6

使用已验证的事件并请求 text 属性可能很有用

private void myNumericUpDown_Validated(object sender, EventArgs e)
{
    if (myNumericUpDown.Text == "")
    {
        myNumericUpDown.Text = "0";
    }
}
于 2013-12-12T22:29:29.203 回答
2

即使用户删除了numericUpDown控件的内容,它的值仍然保留。
upDown.Text将为“”,但upDown.Value将是先前输入的有效值。因此,在事件中,我
“防止”用户将控件留空的方式是:onLeave

upDown.Text = upDown.Value.ToString();
于 2018-03-29T15:20:23.420 回答
0
decimal d = 0 
if(decimal.TryParse(NumericUpDown1.Text, out d)
{

}
NumericUpDown1.Value = d;
于 2013-02-25T19:01:29.357 回答
0

试试这个

if (string.IsNullOrEmpty(((Control)this.nud1).Text))
{
  //null
}
else
{
  //have value
}
于 2014-09-26T13:12:20.920 回答
0

如果要禁止 为空值NumericUpDown,只需使用此类。其效果是,一旦用户尝试使用select-all + backspace key擦除控制值,则再次设置实际数值。这并不是真正的烦恼,因为用户仍然可以全选 + 键入数字来开始编辑新的数值。

  sealed class NumericUpDownEmptyValueForbidder {
     internal NumericUpDownEmptyValueForbidder(NumericUpDown numericUpDown) {
        Debug.Assert(numericUpDown != null);
        m_NumericUpDown = numericUpDown;
        m_NumericUpDown.MouseUp += delegate { Update(); };
        m_NumericUpDown.KeyUp += delegate { Update(); };
        m_NumericUpDown.ValueChanged += delegate { Update(); };
        m_NumericUpDown.Enter += delegate { Update(); };
     }
     readonly NumericUpDown m_NumericUpDown;
     string m_LastKnownValueText;

     internal void Update() {
        var text = m_NumericUpDown.Text;
        if (text.Length == 0) {
           if (!string.IsNullOrEmpty(m_LastKnownValueText)) {
              m_NumericUpDown.Text = m_LastKnownValueText;
           }
           return;
        }
        Debug.Assert(text.Length > 0);
        m_LastKnownValueText = text;
     }
  }
于 2016-01-25T07:15:15.137 回答
0

你可以试试这个:

if(numericUpDown.Value == 0){

 MessageBox.Show(
   "Please insert a value.", 
   "Required", MessageBoxButtons.OK, 
   MessageBoxIcon.Exclamation
 );

 return;

}
于 2019-10-14T06:16:42.413 回答