2012-07-05 81 views
1

在.NET 4 C#WinForms应用程序中,我在特定窗体上有几个NumericUpDown控件。在运行时输入要测试的值时,除了在一个控件上,最小值和最大值按预期执行。为什么我的NumericUpDown控件不遵守它的.Minimum属性?

我已将.Maximum设置为86400,将.Minimum设置为3来解决问题。 (!)在运行时,它仅允许来自值86400

设计师(自动生成)的代码如下所示:

this.numEvilControl.Minimum = new decimal(new int[] { 
3, 
0, 
0, 
0}); 

我已经清理和重建项目,但无济于事。

什么原因导致该控件产生自己的.Minimum值?我不知道从哪里开始寻找。

+1

我认为这是邪恶的 - 小数构造是什么?您可以使用'3m'作为值为3的“decimal”。 – 2012-07-05 21:22:54

+0

自动生成的代码看起来很奇怪,但它是将小数初始化为值3的有效方法。代码中的其他任何地方都可能存在错误。您需要发布一个显示错误的最小示例。 – tinman 2012-07-05 21:25:04

+0

您生成的代码有效。你可以添加更多的代码吗? – JCab 2012-07-05 21:26:00

回答

2

而不是删除的问题,我想我会后我如何发现问题...

事实证明,有一个.ValueChanged事件这是修正值(这我早就忘了) 。

因此,对于所有可能未来都有此问题的人,请在开始疑惑为什么要改变属性之前检查您的事件!

+1

:-)顺便说一句,大约8年前,你不会生气 - 我记得这一个:http://support.microsoft.com/kb/814347 – dash 2012-07-05 21:29:53

相关问题