1. 程式人生 > >textbox控制元件只輸入數字

textbox控制元件只輸入數字

1,把住Form的keypreview設定成true,即接受按鍵事件;

2,在textbox1的按鍵處理函式中寫入,

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if(!char.IsDigit(e.KeyChar))     //判斷按鍵輸入字元是不是數字
            { 
                e.Handled = true;   //表示按鍵輸入已經被處理,這樣按鍵將不會給應用程式,丟掉不想要的按鍵值,這樣的缺點是backspace也會被返回
            }
        }

類似的函式有        

   char.IsControl();   //是否是控制字元
   char.IsLetter();    //是否是字母
            char.IsLetterOrDigit();  //是否是字母和十進位制數字
            char.IsLower(); //是否是小寫
            char.IsNumber(); //是否是數字

修改成下面的函式,textbox就可以接受back按鍵刪掉輸入的資料

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if(!char.IsDigit(e.KeyChar))
            {
                if (e.KeyChar != (char)Keys.Back) 
                {
                    e.Handled = true;
                }
            }   
        }