要使WinForm文本框只能輸入數字,可以使用以下方法之一:
在文本框的KeyPress事件中,檢查按下的鍵是否為數字鍵或其他允許的鍵,如果不是,則取消該鍵的輸入。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
在文本框的TextChanged事件中,使用正則表達式來檢查文本框中的內容是否為數字,如果不是,則清除非數字字符。
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Text = Regex.Replace(textBox1.Text, "[^0-9]", "");
}
使用MaskedTextBox控件代替普通的TextBox控件,然后設置掩碼為數字的格式(例如:0-9)。
maskedTextBox1.Mask = "0-9999";
無論哪種方法,都可以限制文本框只能輸入數字。