使可空的数字向下c#

时间:2017-08-08 11:50:43

标签: c# winforms numericupdown

无论如何在c#中的数字上调工具中删除默认值0的0?我需要默认为null""如果用户没有设置数字更新工具,因为单击保存时总是会传递0到。我试过这个但没有快乐

private void nud_HouseNumber_Validated(object sender, EventArgs e)
{    
    if (nud_HouseNumber.Text == "0")
    {
        nud_HouseNumber.Text = "" ;
        return;
    }
}

1 个答案:

答案 0 :(得分:2)

不应在代码中使用NumericUpDown Winfoms控件中的Text属性。 MS文件说;

https://msdn.microsoft.com/en-us/library/cs40s7ds(v=vs.110).aspx

  

此API支持产品基础架构,但并非如此   直接从您的代码中使用

     

Text对NumericUpDown控件的外观没有影响;   因此,它隐藏在设计器和IntelliSense中。

控件使用类型为decimal的Value属性。因此,则decimal不可为空,因此您无法将其设置为null,或者您正在尝试在代码中执行“”(这不是null!)

我建议您创建自己的控件版本。

另请参阅:Windows Forms - customizing NumericUpDown to be nullable