我在 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]'.
因此,在我手动删除该行并重建之前,无法在设计器中查看该表单——之后,只要我保存任何更改,它就会重新生成。恼人的。
有什么建议么?