仅允许文本框中最多三位数字字符

1 c# textbox numeric character keystroke

有没有办法只允许用户在文本框中输入最大数量的字符?我希望用户输入标记/等级,只能输入0 - 100.下面我有监控按键的代码,只允许输入数字,但我想找到一种方法只允许用户输入最小值为0且最大值为100的数字.

private void TxtMark4_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar < '0' || e.KeyChar > '9' || e.KeyChar == ' ')
    {
        e.Handled = true;
    }
    else
    {
        e.Handled = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

或者我可以使用以下内容:

if (e.KeyChar >= 48 && e.KeyChar <= 57 || e.KeyChar == ' ')
{
    e.Handled = false;
}
else
{
    MessageBox.Show("You Can Only Enter A Number!");
    e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)

但我想找到一种方法,只允许最多输入三个字符.

Ces*_*ega 5

我认为它很简单:

textBox1.MaxLength = 3;
Run Code Online (Sandbox Code Playgroud)

然后你处理Leave事件的最大值:

    private void textBox1_Leave(object sender, EventArgs e)
    {
        string s = (sender as TextBox).Text;
        int i = Convert.ToInt16(s);

        if (i > 100)
        {
            MessageBox.Show("Number greater than 100");
            (sender as TextBox).Focus();
        }
    }
Run Code Online (Sandbox Code Playgroud)

要么

您还可以使用System.Windows.Forms.NumericUpDown,您可以在其中轻松设置最小值和最大值.