要使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";
无论哪种方法,都可以限制文本框只能输入数字。