Question

I made a dialog box that contains a numericupdown control, which has a range of -1~100

I want to show "infinite" for -1 instead of the raw value.

Was it helpful?

Solution

To get the desired behaviour you have to create your own control that inherits from NumericUpDown. To change the text you can override the UpdateEditText method:

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

    protected override void UpdateEditText()
    {
        if (Value < 0)
        {
            Text = "infinite";
        }
        else
        {
            base.UpdateEditText();
        }
    }
}

OTHER TIPS

I'm not %100 sure but NumericUpDownAccelerationCollection class looks good for you.

Represents a sorted collection of NumericUpDownAcceleration objects in the NumericUpDown control.

Maybe something like;

NumericUpDown1.Accelerations.Items[0].Value = -1;
NumericUpDown1.Accelerations.Items[0].Text = "infinite";
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top