用到了控件的 KeyPress 和 KeyUp事件。
KeyPress 中控制输入“点、空格,负号”;
KeyUp 中防止删空,以及防止输入超过最大值或最小值 。
private void nudStart_KeyPress(object sender, KeyPressEventArgs e){numericUpDownKeyPress(sender, e);}private void nudStart_KeyUp(object sender, KeyEventArgs e){numericUpDownKeyUp(nudStart, sender, e);}private void numericUpDownKeyPress(object sender, KeyPressEventArgs e){if (e.KeyChar == '.'){e.Handled = true;}else if (e.KeyChar == '-'){e.Handled = true;}else if (e.KeyChar == ' '){e.Handled = true;}}private void numericUpDownKeyUp(NumericUpDown numericUpDown, object sender, KeyEventArgs e){UpDownBase UpDowns = (UpDownBase)numericUpDown;if (UpDowns.Text == ""){numericUpDown.Text = numericUpDown.Value.ToString();}else{int value = Convert.ToInt32(UpDowns.Text);if (value > numericUpDown.Maximum){value = Convert.ToInt32(numericUpDown.Maximum);numericUpDown.Value = value;numericUpDown.Text = numericUpDown.Value.ToString();}else if (value < numericUpDown.Minimum){value = Convert.ToInt32(numericUpDown.Minimum);numericUpDown.Value = value;numericUpDown.Text = numericUpDown.Value.ToString();}}}