C# numericUpDown控制元件用法總結及注意事項
阿新 • • 發佈:2018-12-19
numericUpDown控制元件在使用的過程當中,有些用法會不太一樣,下面做一總結。
1. 判斷numericUpDown的value屬性是否為空
使用過Numericupdown控制元件的童鞋初期應該都會碰到一個奇怪的問題,在刪除了控制元件裡的值之後,裡面實際上還是有資料的,所以也沒辦法判斷非空了。
這裡我覺得是因為numericUpDown1.Minimum和numericUpDown1.Maximum,讓Numericupdown控制元件不允許有空值,或者乾脆說value屬性就沒有空值。所以要判斷該控制元件的非空只能通過訪問其父類UpDownBase,然後判斷父類的Text屬性是否為空。
UpDownBase up = (UpDownBase)numericUpDown1;
if(string.IsNullOrEmpty(up.Text))
{
///如果為空則執行相關操作
}
2. numericUpDown的textChanged事件
在Numericupdown控制元件的ValueChange事件中,如果是手動在控制元件裡輸入數值觸發不了該事件,不過我們可通過父類UpDownBase達到這個效果。
UpDownBase up = (UpDownBase)numericUpDown1; up.TextChanged += new EventHandler(up_TextChanged); void up_TextChanged(object sender, EventArgs e) { throw new NotImplementedException(); }
3. 不允許手動輸入,只通過滑鼠點選改變其value值
在KeyPress事件中,加入如下程式碼:
private void numericUpDown_serieslength_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
return;
}