[C#] 只允許 Textbox 輸入數字

要怎麼做才可以讓 Textbox 只輸入數字,而排除掉其他文字呢?之前在尋找是否有相關屬性可以使用,但好像沒有,只能依靠事件排除掉使用者輸入的內容,以達到只能輸入數字的效果。

0、加入事件

要加入 KeyPress 事件。

1、程式碼

private void Textbox1_KeyPress(object sender, KeyPressEventArgs e)
{
	if (e.KeyChar == (Char)48 || e.KeyChar == (Char)49 ||
	e.KeyChar == (Char)50 || e.KeyChar == (Char)51 ||
	e.KeyChar == (Char)52 || e.KeyChar == (Char)53 ||
	e.KeyChar == (Char)54 || e.KeyChar == (Char)55 ||
	e.KeyChar == (Char)56 || e.KeyChar == (Char)57 ||
	e.KeyChar == (Char)13 || e.KeyChar == (Char)8  ||
	e.KeyChar == (Char)46)
	{
		e.Handled = false; //取消輸入文字
	}
	else
	{
		e.Handled = true;  //允許輸入文字
	}
}

2、延伸資料 – KeyCode

KeyCode鍵盤按鍵
KeyCode 480
KeyCode 491
KeyCode 502
KeyCode 513
KeyCode 524
KeyCode 535
KeyCode 546
KeyCode 557
KeyCode 568
KeyCode 579
KeyCode 13Enter
KeyCode 8BackSpace 
KeyCode 46Delete

有話大聲說!