《我的编程笔记》C#篇-如何只向TextBox中键入数字键

本文介绍了在C#中如何确保TextBox控件只接收数字键输入,包括利用KeyPress事件过滤非数字字符,禁用IME模式以阻止输入法,以及使用正则表达式进行有效性验证。同时,还提供了尝试转换为整数的异常处理方法来检查输入的合法性。

private void txtId_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!(e.KeyChar >= '0' && e.KeyChar <= '9' || e.KeyChar == 8))//编码框只让输入数字键和退格键
            {
                e.Handled = true;
            }
        }

        private void txtId_Enter(object sender, EventArgs e)
        {
            txtId.ImeMode = ImeMode.Disable;//禁止输入法
        }

        private void txtId_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)//如果复制的内容不是纯数字,清除内容
            {
                try
                {
                    System.Int64.Parse("" + Clipboard.GetDataObject().GetData(DataFormats.Text));
                }
                catch (System.FormatException ex)
                {
                    Clipboard.SetDataObject("");
                }
            }

        }


C#在TextBox里禁止输入无效字符的方法

private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
   {
    if(e.KeyChar<48 || e.KeyChar>57)
    {
     e.Handled=true;//设置该次键入未能通过验证
    }
   }

C# 文本框如何控制只能输入数字

使用正则表达式做验证
if (!Regex.Match(txtAllow.Text.Trim(), "^\\d+$").Success)
{
               MessageBox.Show(this, "未输入或格式不正确,请重新输入!", "验证消息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtAllow.Focus();
                return false;
}


放在你需要控制的text文本框代码段中

还有个更简单的方法:
try
{
   value =  convertToInt(txtAllow.Text.Trim());
}
catch()
{
}
不太清楚语法了,但是可以用异常区判断它是否是整数


只能输入数字.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值