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.

Était-ce utile?

La 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();
        }
    }
}

Autres conseils

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";
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top