您可以使用KeyPress事件来限制用户只能输入数字,并使用TextChanged事件来验证输入的值是否大于0。

首先,在窗体的Load事件中添加以下代码来订阅事件处理程序:

textBox.KeyPress += textBox_KeyPress;
textBox.TextChanged += textBox_TextChanged;

然后,实现事件处理程序:

private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
    // 只允许输入数字和控制键
    if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
    {
        e.Handled = true;
    }
}

private void textBox_TextChanged(object sender, EventArgs e)
{
    if (int.TryParse(textBox.Text, out int value))
    {
        // 输入的值是一个整数
        if (value <= 0)
        {
            // 输入的值小于等于0,清空文本框
            textBox.Text = "";
        }
    }
    else
    {
        // 输入的值不是一个整数,清空文本框
        textBox.Text = "";
    }
}

这样,当用户尝试输入非数字字符时,KeyPress事件处理程序将阻止输入,而当用户输入一个值后,TextChanged事件处理程序将验证输入的值是否大于0,并在不满足条件时清空文本框

C#textBox控件只允许输入正整数同时输入值必须大于0

原文地址: http://www.cveoy.top/t/topic/h9EL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录