我已将numericUpDown控件配置为具有0.5精度。 (从0到10。)
-changed decimalplaces to 1
-changed increment to 0,5
-maximum at 10
-minimum at 0
当值递增时,我看到:
0,0
0,5
1,0
1,5
...
10,0
我想要的是:
0
0,5
1
1,5
...
10
有没有简单的方法可以做到这一点? 谢谢。
答案 0 :(得分:4)
您可以处理ValueChanged
事件并更改DecimalPlaces
属性,以便在您的值为舍入值时进行比较。
答案 1 :(得分:2)
您可以将this answer上显示的Winform NumericUpDown
控制和override
方法UpdateEditText
扩展到类似的问题。
您的课程可能如下所示:
public class NumericUpDownEx : NumericUpDown
{
public NumericUpDownEx() {
// Optionally set other control properties here.
this.Maximum = 10;
this.Minimum = 0;
this.DecimalPlaces = 1;
this.Increment = ,5m;
}
protected override void UpdateEditText() {
// Remove any trailing ',5'.
this.Text = this.Value.ToString().Replace(".0", string.Empty);
}
}
该方法的一个优点是您正在创建一个可以在其他项目中使用的新控件。