alhazen
alhazen

Reputation: 1915

Retrieving "invalid" value from a NumericUpDown Validating event

When the user enters a value above numericUpDown.Maximum, the control's value is automatically set to the maximum. I'd like to display a MessageBox when this occurs, but I'm not able to do that because control.Value and control.Text already contain the automatically set value, maximum, when Validating event is raised.

private void numericUpDown_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
       NumericUpDown control = sender as NumericUpDown;
       decimal newValue = control.Value;

       // decimal newValue;
       // decimal.TryParse(control.Text, out newValue)

       if (newValue > control.Maximum || newValue < control.Minimum)
       {
            // MessageBox

        }

}

Thanks

Upvotes: 3

Views: 1978

Answers (1)

Hans Passant
Hans Passant

Reputation: 941208

Nagging the user by slapping her with message boxes doesn't make for the greatest user interface. But you can easily do it just by setting the min and max smaller/larger and checking the value in the ValueChanged event.

Upvotes: 3

Related Questions