WinForm 中限制只能输入数字
发布日期:2021-08-10 12:41:57 浏览次数:3 分类:技术文章

本文共 2658 字,大约阅读时间需要 8 分钟。

在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。    

      拖一个Textbox到窗体上,添加OnKeyPress事件,在事件写判断的代码,只要判断不是这些键,设置e.Handled的值为true,就可以屏蔽输入。

方法一:

private void tBox_KeyPress(object sender, KeyPressEventArgs e) {            if (e.KeyChar == 0x20) e.KeyChar = (char)0;  //禁止空格键            if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return;   //处理负数            if (e.KeyChar > 0x20)            {                try                {                    double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());                }                catch                {                    e.KeyChar = (char)0;   //处理非法字符                }            }}

 

方法二:

private void TextBox_KeyPress(object sender, KeyPressEventArgs e) {    if(e.KeyChar!=8&&!Char.IsDigit(e.KeyChar))    {      e.Handled = true;    }}

 

或者

private void TextBox_KeyPress(object sender, KeyPressEventArgs e){    if(e.KeyChar!='\b'&&!Char.IsDigit(e.KeyChar))    {      e.Handled = true;    }}

 

方法三:

private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e){if(e.KeyChar!='\b')//这是允许输入退格键{if((e.KeyChar<'0')||(e.KeyChar>'9'))//这是允许输入0-9数字{e.Handled = true;}}}

 

方法四:

private void textBox1_Validating(object sender, CancelEventArgs e) { const string pattern = @"^\d+\.?\d+$"; string content = ((TextBox)sender).Text;if (!(Regex.IsMatch(content, pattern))) { errorProvider1.SetError((Control)sender, "只能输入数字!"); e.Cancel = true; } else errorProvider1.SetError((Control)sender, null); }

 

方法五:

private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e){if(e.KeyChar=='.' && this.textBox1.Text.IndexOf(".")!=-1){e.Handled=true;}if(!((e.KeyChar>=48 && e.KeyChar<=57) || e.KeyChar=='.' || e.KeyChar==8)){e.Handled=true;}}

 

方法六:

private void tbx_LsRegCapital_KeyPress(object sender, KeyPressEventArgs e){            if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))            {                e.Handled = true;//消除不合适字符            }            else if (Char.IsPunctuation(e.KeyChar))            {                if (e.KeyChar != '.' || this.textBox1.Text.Length == 0)//小数点                {                    e.Handled = true;                }                if (textBox1.Text.LastIndexOf('.') != -1)                {                    e.Handled = true;                }            }        }

 

方法七:

利用ASCII码处理办法、

{

            if ((e.KeyChar <= 48 || e.KeyChar >=57) && (e.KeyChar != 8) && (e.KeyChar != 46))

              e.Handled = true;
================48代表0,57代表9,8代表空格,46代表小数点
}

转载于:https://www.cnblogs.com/DiscoverPalace/p/3159074.html

转载地址:https://blog.csdn.net/weixin_30588729/article/details/97850651 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:过滤器(filter),监听器(listener),与servlet的执行顺序
下一篇:Linux中Java开发常用的软件总结:

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月16日 02时50分27秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

PHP字符串运算结果,PHP运算符(二)"字符串运算符"实例详解 2021-06-24
PHP实现 bcrypt,如何使php中的bcrypt和Java中的jbcrypt兼容 2021-06-24
php8安全,PHP八大安全函数解析 2021-06-24
php基础语法了解和熟悉的表现,PHP第二课 了解PHP的基本语法以及目录结构 2019-04-21
matlab中lag函数用法,MATLAB movavg函数用法 2019-04-21
matlab变形监测,基于matlab的变形监测数据处理与分析_毕业设计论文 2019-04-21
opencv matlab编程,在Matlab中调用OpenCV函数 | 学步园 2019-04-21
c语言文件wt,c语言,wt和rt中的t是什么意思 2019-04-21
c语言运行几进制,【C语言】求已知等式在几进制条件下成立 2019-04-21
电梯运行仿真c语言代码,电梯调度算法模拟(示例代码) 2019-04-21
android组件动态接收数据库,Android开发——fragment中数据传递与刷新UI(更改控件)... 2019-04-21
云麦小米华为体脂秤怎么样_云康宝和华为智能体脂秤对比评测,实际体验告诉你哪款更好... 2019-04-21
linux 条件判断 取非_Linux awk 系列文章之 awk 多重条件判断 2019-04-21
c语言中如何将字符串的元素一个一个取出_C语言中常用的字符串操作函数 2019-04-21
2d游戏地图编辑器_王者荣耀:新版本爆料!地图编辑器“天工”即将开测,游戏怎么玩由你定!... 2019-04-21
.net framework服务启动后停止_dos命令net图文教程,start启动系统服务stop停止服务批处理脚本... 2019-04-21
8k分辨率需要多大带宽_超乎想象!用RTX3080显卡连索尼8K电视玩游戏感受如何?... 2019-04-21
5w2h原则指的是什么_什么是5W2H分析法?一首小诗带入进入大门。 2019-04-21
lisp修改上一个图素_在Windows上安装Haskell 2019-04-21
ad19 导出step 没有pcb_几款主流PCB软件哪个最好用,你用过几款? 2019-04-21