一、基本概念?
NumericUpDown 是 Windows 窗體中用于數值輸入的控件,由文本框和上下調節按鈕組成。用戶可通過以下方式調整數值:
- 點擊調節按鈕增減數值
- 鍵盤直接輸入
- 使用方向鍵調整
適用于需要限制數值范圍或精確控制的場景(如年齡、參數配置、數量選擇等)。
?二、核心屬性?
1?、數值范圍控制?
- Minimum:允許的最小值(默認 0)
- Maximum:允許的最大值(默認 100)
- Value:當前顯示的數值(默認 0)
- Increment:點擊調節按鈕時的增減步長(默認 1)
2?、顯示格式控制?
- DecimalPlaces:設置小數位數(如 2 表示顯示兩位小數)
- ThousandsSeparator:啟用千位分隔符(如 1,000)
3?、交互控制?
- ReadOnly:禁止用戶直接輸入(僅允許按鈕調節)
- InterceptArrowKeys:啟用方向鍵控制數值增減(默認 true)
三、常用方法?
- UpButton():模擬點擊“向上”按鈕,增加數值
- DownButton():模擬點擊“向下”按鈕,減少數值
- UpdateEditText():強制更新文本框顯示(如自定義格式化后調用)
?四、使用案例?
1?、限制輸入范圍與步長?
numericUpDown1.Minimum = 0;
numericUpDown1.Maximum = 1000;
numericUpDown1.Increment = 10; // 每次增減10:ml-citation{ref="1,6" data="citationList"}
?2、格式化顯示數值?
numericUpDown1.DecimalPlaces = 2; // 顯示兩位小數
numericUpDown1.ThousandsSeparator = true; // 顯示千位分隔符:ml-citation{ref="1,6" data="citationList"}
?3、實時更新界面?
private void numericUpDown1_ValueChanged(object sender, EventArgs e) {label1.Text = "當前值:" + numericUpDown1.Value.ToString("N2"); // 帶兩位小數格式化:ml-citation{ref="1,7" data="citationList"}
}
4?、禁用非數字輸入?
numericUpDown1.KeyPress += (s, e) => {if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)) {e.Handled = true; // 攔截非數字輸入:ml-citation{ref="6,8" data="citationList"}}
};