在c#中,有没有办法从数值上下工具的默认值0中移除0?如果用户没有设置数值上下工具,我需要默认为null“”,因为当点击保存时,它总是会传递一个0。我试过这个方法,但没有什么乐趣
private void nud_HouseNumber_Validated(object sender, EventArgs e)
{
if (nud_HouseNumber.Text == "0")
{
nud_HouseNumber.Text = "" ;
return;
}
}
2条答案
按热度按时间mctunoxg1#
NumericUpDown Winfoms控件中的Text属性不应该在您的代码中使用。MS文档说明;
https://msdn.microsoft.com/en-us/library/cs40s7ds(v=vs.110).aspx
此API支持产品基础结构,不应直接从代码中使用
Text对NumericUpDown控件的外观没有影响;因此,它隐藏在设计器中,不会被智能感知看到。
该控件使用了一个
Value
属性,它是decimal类型的。因此,decimal不能为空,所以你不能将其设置为空,或者“”,就像你在代码中实际尝试做的那样(这不是空!)我建议您创建自己的控件版本。
另请参阅:Windows Forms - customizing NumericUpDown to be nullable
kiayqfof2#
你可以使用Text属性。在我看来并不优雅,但它很有效。例如:
相反,设置该值将是: