C#NumericUpDown控件的交错增加我在尝试为C#中的NumericUpDown控件配置特定配置时遇到了一些麻烦。基本上,我已经看到我可以设置增量间隔,但我想根据单击的箭头(向上或向下)来管理增量间隔。我已经检查了控件的事件,但找不到每个箭头的事件。基本上,我想实现一个控件,在不同的值下,增量是不同的。从0.00到5.00增量为0.01,从5.00到20.00增量为0.04等等这可能吗?注意:当valuechanged事件触发时,控件中最后一个值的历史记录也很有用。这存在吗?提前感谢您的任何意见或建议!!!编辑:我编辑这个是因为我没有正确解释它,我猜。这就是原因,因为我想知道按下了哪个箭头,向上还是向下。这就是我所拥有的,或多或少。我添加了所有范围并使用模除法进行了一些检查,以避免使用键盘而不是箭头直接在值字段中设置不正确的值。问题是,如果我使用向上箭头穿过限制,一切都很好。但是,如果我使用箭头,我会错过一步。如果(cuotaUno.Value>=30M&&cuotaUno.Value=50M&&cuotaUno.Value<100M){cuotaUno.Increment=5M;如果(!((cuotaUno.Value%5M)==0)){cuotaUno.Value=cuotaUno.Value-(cuotaUno.Value%5M);在这种情况下,如果值为100并且我单击它,它会直接转到90而不是95。但是,如果我在90并单击它,它将正确转到95和100。您可以使用NumericUpDown.ValueChanged事件和NumericUpDown.Increment属性创造奇迹。作为旁注,请检查NumericUpDown.Accelerations属性是否对您有帮助,因为我不知道您是否对增量或加速度非常挑剔。UPDATEreadonlydecimalPART1=30M;只读十进制PART2=50M;只读十进制PART3=100M;只读十进制INC1=1M;只读十进制INC2=2M;只读十进制INC5=5M;只读十进制INC10=10M;EventArgse){decimalval=cuotaUno.Value;十进制inc=cuotaUno.Increment;十进制雷姆;if(val=PART1&&val=PART2&&val=PART3&&inc!=INC10){inc=INC10;rem=val%INC10;如果(rem!=0)val-=rem;}cuotaUno.Increment=inc;cuotaUno.Value=val;这行不通吗?privatevoidNumericUpDown1_ValueChanged(Objectsender,EventArgse){if(NumericUpDown1.Value>=0&&NumericUpDown1.Value=5&&NumericUpDown1.Value使用NuinerUpDown控件控制自己的控件,重写OnkeyDown方法,检查当前值并改变增量,然后调用基类的实现,这就是我想要的。以上就是C#学习教程:交错添加C#NumericUpDown控件中分享的所有内容。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注---本文收集自网络,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处:
