I would suggest subclassing the NumericUpDown and overriding the OnTextBoxTextChanged method to raise the ValueChanged event.
You would also need to consider what represents a change, you may get unexpected results if you raise the Valuechanged when the user has typed a single digit and then a second digit. Or a non-numeric character.