如何设置文本框的数据类型

本文关键字:数据类型 置文本 | 更新日期: 2023-09-27 18:08:09

我正在构建一个连接到私有数据库的小应用程序。在我的应用程序中,我在文本框中输入数据,这些文本框在单击按钮后记录数据库中的数据。我面临的问题是,我想使某个文本框只接受整数,以防止输入错误类型的数据。

如何设置文本框的数据类型

试试下面的方法,它会帮助你…

下面的代码只接受Numbersdots(.)

Designer.CS

this.txtNumbers.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtNumbers_KeyPress);

代码隐藏:

private void txtNumbers_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!char.IsControl(e.KeyChar)
        && !char.IsDigit(e.KeyChar)
        && e.KeyChar != '.')
    {
        e.Handled = true;
    }
    if (e.KeyChar == '.'
        && (sender as TextBox).Text.IndexOf('.') > -1)
    {
        e.Handled = true;
    }
}

处理复制粘贴

private void textBox1_TextChanged(object sender, EventArgs e)
{
    int result;
    if (txtNumbers.Text != "")
    {
        if (!int.TryParse(txtNumbers.Text, out result))
        {
            txtNumbers.Text = "";
            MessageBox.Show("Invalid Integer");                    
        }
    }
}

最简单的。

添加一个按键事件处理程序到文本框

eventarg参数包含被按下的键。(e.KeyChar)

如果不是,则在eventargs参数上设置e.Handled为true。

不要忘记允许退格、剪切、复制和粘贴等。如果你想要负数,负号是允许的,但只能作为第一个字符。

如果你想要格式化/格式化显示,例如括号中的负号,分隔符,小数分隔符,货币符号等,最好打开一个用户控件并将其全部包装在那里。

您可以使用为数字设计的控件NumericUpDown。它为您提供了对小数点和最小/最大的控制。