当值为零时,覆盖Windows.Forms.NumericUpDown中显示的文本

时间:2015-07-22 20:34:02

标签: winforms

我有一个带有NumericUpDown控件的Windows窗体项目。

其中一个字段的含义是0(或null)表示无限制,所以我想显示它而不是0。

如何让NumericUpDown控件显示“Unlimited”而不是“0”

1 个答案:

答案 0 :(得分:3)

可以通过覆盖UpdateEditText方法:

public class CustomNumericUpDown : NumericUpDown
{
    public CustomNumericUpDown()
    {
    }

    protected override void UpdateEditText()
    {
        // Custom display-value when value is 0
        this.Text = this.Value == 0 ? "unlimited" : this.Value.ToString();
    }
}

现在将打印“无限制”:

        var n = new CustomNumericUpDown();
        n.Value = 0;

        MessageBox.Show(n.Text);