C# 为什么我的NumericUpDown控件不遵守其最小属性?

C# 为什么我的NumericUpDown控件不遵守其最小属性?,c#,winforms,C#,Winforms,在.NET 4 C#WinForms应用程序中,我在特定窗体上有几个数字上下控件。在运行时输入值进行测试时,最小值和最大值按预期执行,但一个控件上的值除外 在问题控制上,我已将最大值设置为86400,将最小值设置为3。在运行时,它只允许从51(!)到86400的值 设计器(自动生成)代码如下所示: this.numEvilControl.Minimum = new decimal(new int[] { 3, 0, 0, 0}); 我已经清理并重建了这个项目,但是没有用 是什么导致此控件产生自

在.NET 4 C#WinForms应用程序中,我在特定窗体上有几个数字上下控件。在运行时输入值进行测试时,最小值和最大值按预期执行,但一个控件上的值除外

在问题控制上,我已将
最大值设置为86400,将
最小值设置为3。在运行时,它只允许从51(!)到86400的值

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

this.numEvilControl.Minimum = new decimal(new int[] {
3,
0,
0,
0});
我已经清理并重建了这个项目,但是没有用


是什么导致此控件产生自己的
最小值?我不知道从哪里开始查找。

与其删除问题,不如发布我是如何发现问题的

事实证明,有一个
.ValueChanged
事件正在修改该值(我早就忘记了)


因此,对于所有可能在将来遇到此问题的人,请在开始思考为什么属性会被神奇地更改之前检查您的事件

我认为这是邪恶的-十进制结构是怎么回事?对于值为3的
十进制
,可以使用
3m
。自动生成的代码看起来很奇怪,但却是将十进制初始化为值3的有效方法。代码中的任何其他地方都可能有bug。您需要发布一个显示错误的最小示例。其他地方肯定有问题。我刚刚构建了一个WinForms应用程序,上面有一个数字,上面有你提到的值,这很好。例如,您确定没有在OnLoad中再次设置该值吗?我想您已经执行了
numEvilControl
的全局搜索,以检查它是否在代码中的某个地方发生了更改。@C.Evenhuis设计器以这种方式生成代码,以进行某种序列化。请看:-)作为旁白,大约8年前,你不会发疯的——我回忆起这一次: