You can try using the leave event of the control to check the "Text" property:
numericUpDown1.Leave += numLeave;
numericUpDown2.Leave += numLeave;
void numLeave(object sender, EventArgs e) {
NumericUpDown nud = sender as NumericUpDown;
if (nud != null) {
if (nud.Text == string.Empty) {
nud.Value = nud.Minimum;
nud.Text = nud.Value.ToString();
}
}
}
Note that the Text property is hidden from Intellisense, but it will work.