一、正文
c#textbox是一個常用的文本框控制項,用於接收用戶的輸入。然而,有時候我們需要確保用戶只輸入數字,而不是其他的字元。這時候,就需要對c#textbox進行限制操作,使其只能輸入數字。
實現c#textbox只能輸入數字的方法有多種,比如正則表達式、ASCII碼等,其中比較簡單且易於理解的方法是使用KeyPress事件。
二、KeyPress事件限制輸入數字
使用KeyPress事件可以方便地限制c#textbox只能輸入數字。該事件在文本框按鍵被按下時發生,我們可以在事件中判斷按下的鍵是否為數字,並根據判斷結果來決定是否允許輸入。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar '9') // 判斷按下的鍵是否為數字
{
e.Handled = true;
}
}
在上述代碼中,我們在KeyPress事件中添加了一個判斷語句。如果按下的鍵不是0到9之間的數字,則將e.Handled屬性設為true,禁止輸入。
三、KeyPress事件限制輸入小數
如果需要允許輸入小數,則需要對判斷語句進行稍微的修改。我們可以允許輸入數字、小數點和退格鍵,並判斷小數點的個數是否超過1個。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar '9') && e.KeyChar != '.' && e.KeyChar != (char)Keys.Back) // 判斷按下的鍵是否為數字、小數點或退格鍵
{
e.Handled = true;
}
else if (e.KeyChar == '.' && textBox1.Text.Contains('.')) // 判斷小數點個數是否超過1個
{
e.Handled = true;
}
}
四、KeyPress事件限制輸入負數
有時候我們需要允許輸入負數,這時候需要對判斷語句進行進一步修改。我們可以允許輸入數字、小數點、負號和退格鍵,並判斷負號的位置是否正確。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar '9') && e.KeyChar != '.' && e.KeyChar != '-' && e.KeyChar != (char)Keys.Back) // 判斷按下的鍵是否為數字、小數點、負號或退格鍵
{
e.Handled = true;
}
else if (e.KeyChar == '.' && textBox1.Text.Contains('.')) // 判斷小數點個數是否超過1個
{
e.Handled = true;
}
else if (e.KeyChar == '-' && textBox1.SelectionStart != 0) // 判斷負號位置是否正確
{
e.Handled = true;
}
}
五、其他限制方法
除了使用KeyPress事件外,還可以使用其他方法來限制c#textbox只能輸入數字。例如,使用MaskedTextBox控制項來限制只能輸入數字、$等特定字元;或者使用Regular Expression驗證來限制輸入的內容是否為數字。
六、總結
通過上述方法,我們可以輕鬆地實現c#textbox只能輸入數字的功能。需要特別注意的是,如果需要輸入小數或負數,需要對判斷語句進行相應修改,以確保程序能夠正確地工作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/220086.html