设置TextBox中只允许输入数字是很常见的需求,在C#中可以通过以下几种方式来实现。

1. 使用KeyPress事件

通过使用TextBox的KeyPress事件,可以在每次键盘按下时检查按下的键是否为数字键。如果不是数字键,则取消此键盘事件,从而实现只允许输入数字的效果。

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
    {
        e.Handled = true;
    }
}

2. 使用TextChanged事件

使用TextBox的TextChanged事件,可以在每次文本发生改变时检查文本内容是否为数字。如果文本内容不是数字,则清除文本框中的内容,从而实现只允许输入数字的效果。

private void textBox1_TextChanged(object sender, EventArgs e)
{
    if (!int.TryParse(textBox1.Text, out _))
    {
        textBox1.Text = string.Empty;
    }
}

3. 使用正则表达式

通过使用正则表达式,可以在每次文本发生改变时检查文本内容是否符合指定的数字格式。如果文本内容不符合要求,则清除文本框中的内容,从而实现只允许输入数字的效果。

private void textBox1_TextChanged(object sender, EventArgs e)
{
    string pattern = @"^\d+$";
    if (!Regex.IsMatch(textBox1.Text, pattern))
    {
        textBox1.Text = string.Empty;
    }
}

总结一下,在C#中实现只允许输入数字的方法有多种,可以根据实际需求选择合适的方式进行处理。以上是其中的三种常见方法,你可以根据自己的场景选择适合的方式来进行使用。希望对你有所帮助!