回覆列表
  • 1 # 使用者5395983585097

    在Winform(C#)中要實現限制Textbox只能輸入數字,一般的做法就是在按鍵事件中處理,判斷keychar的值。限制只能輸入數字,小數點,Backspace,del這幾個鍵。數字0~9所對應的keychar為48~57,小數點是46,Backspace是8。

    拖一個Textbox到窗體上,新增OnKeyPress事件,在事件寫判斷的程式碼,只要判斷不是這些鍵,設定e.Handled的值為true,就可以遮蔽輸入。

    1.判斷是否為數字或Backspace,按下面這樣寫的話只能輸入數字和Backspace,所以還得給程式碼新增些條件,還要能夠輸入小數點。

    程式程式碼

    if ((kc 57) && kc != 8)

    e.Handled = true

    2.輸入小數點。輸入的小數要符合數字的格式,類似9.9.9這樣的是不能夠輸入的。做法就是用float.TryParse來轉換Textbox中之前和之後的值,然後比較兩者的轉換結果。具體的程式碼如下:

    程式程式碼

    if (kc == 46) //小數點

    {

    if (txtMoney.Text.Length

    e.Handled = true; //小數點不能在第一位

    else

    {

    float f;

    float oldf;

    bool b1 = false, b2 = false;

    b1 = float.TryParse(txtMoney.Text, out oldf);

    b2 = float.TryParse(txtMoney.Text + e.KeyChar.ToString(), outf);

    if (b2 == false)

    {

    if (b1 == true)

    e.Handled = true;

    else

    e.Handled = false;

    }

    }

    }

  • 中秋節和大豐收的關聯?
  • 《鋼鐵是怎樣煉成的》第四章的主要內容?