【发布时间】:2010-09-08 13:31:05
【问题描述】:
我在 C# .NET 中有一个“数字文本框”,它只不过是文本框的派生,并添加了一些逻辑来防止用户输入任何非数字内容。作为其中的一部分,我添加了一个double?(或Nullable<double>)类型的Value 属性。支持用户不输入任何内容的情况下可以为空。
该控件在运行时工作正常,但 Windows 窗体设计器似乎不太喜欢处理它。将控件添加到窗体时,InitializeComponent() 中会生成以下代码行:
this.numericTextBox1.Value = 1;
记住“值”的类型为Nullable<double>。每当我尝试在设计器中重新打开表单时,都会生成以下警告:
Object of type 'System.Int32' cannot be converted to type 'System.Nullable`1[System.Double]'.
因此,在我手动删除该行并重新构建之前,无法在设计器中查看表单 - 之后,只要我保存任何更改,它就会重新生成。烦人。
有什么建议吗?
【问题讨论】:
-
Ralch's answer 从技术角度来看是最好的解决方案,也是人们最有可能寻找的解决方案。