您好,登錄后才能下訂單哦!
C# 中怎么設置TextBox中只允許輸入數字,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
解決方法
一般的做法就是在按鍵事件中處理,判斷keychar的值。限制只能輸入數字,小數點,Backspace,del這幾個鍵。數字0~9所對應的keychar為48~57,小數點是46,Backspace是8,小數點是46。
輸入小數點時,輸入的小數要符合數字的格式,類似9.9.9這樣的是不能夠輸入的。做法就是用float.TryParse來轉換Textbox中之前和之后的值,然后比較兩者的轉換結果。
代碼實現
我們在自己增加的textBox控件中的KeyPress時間中輸入如下代碼
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
//判斷按鍵是不是要輸入的類型。
if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar !=46 )
e.Handled = true;
//小數點的處理。
if ((int)e.KeyChar == 46) //小數點
{
if (textBox1.Text.Length <= 0)
e.Handled = true; //小數點不能在第一位
else
{
float f;
float oldf;
bool b1 = false, b2 = false;
b1 = float.TryParse(textBox1.Text, out oldf);
b2 = float.TryParse(textBox1.Text + e.KeyChar.ToString(), out f);
if (b2 == false)
{
if (b1 == true)
e.Handled = true;
else
e.Handled = false;
}
}
}
}
看完上述內容,你們掌握C# 中怎么設置TextBox中只允許輸入數字的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。