C# textbox中输入时加限制条件 // C#Winform下限制TextBox只能输入数字 // 才疏学浅(TextBox 小数点不能在首位+只能输入数字)
1.用正则表达式!
2.使用TextBox的change事件,对每次输入都进行判断.
3. 响应textchange事件,再加上正则表达式判断。
4 textBox_TextChanged事件代码中加限制条件
使用textBox1.Select(int stat,int long)方法,来过滤掉无用字符!!Top
5 textBox里输入的都是字符型的,只不过是输入的字符是不是能转换成数值或其它的类
型才是关键的.比如字符"1234.5678"在TextBox里一直都是以字符串的形式存在,但是它
可以转换成数值1234.5678
6 用正则表达式:
1.验证数字:"^/d+&"
2.验证字母:"^/w+&"Top
3.特殊字符:"/s"Top
7.用Validate控件,并且使用正则表达式Top
8.比如:你只想在文本筐中输入数字就可以这样做:
private void TextBox1_KeyPress(object
sender,System.Windows.Forms.KeyPressEventArgs e)
{
if(!Char.IsNumber(e.KeyChar))
e.Handled=true;
}
其中e.Handled表示设置为已经处理了,不要再处理了,
效果就是遇到不是数字的输入就不要处理.Top
9.获取退格键,就是输错了要退格!
1.SendKeys.Send("{BS}")
2.把判断语句改为"if(!Char.IsNumber(e.KeyChar)&&e.KeyChar!=(char)8) 8就是代
表退格键
3.回车是13
4.查对应ascii码就可以的
C#的winform中控制TextBox中只能输入数字
private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
//阻止从键盘输入键
e.Handled = true;
if(e.KeyChar>='0' && e.KeyChar <='9')
{
e.Handled = false;
}
}
多条件的:
private void TxtUser_KeyPress(object sender, KeyPressEventArgs e)
{
//阻止从键盘输入键
e.Handled = true;
if ((e.KeyChar >= '0' && e.KeyChar <= '9') || (e.KeyChar == (char)8))
{
if ((e.KeyChar == (char)8)) { e.Handled = false; return; }
else
{
int len = TxtUser.Text.Length;
if (len < 5)
{
if (len == 0 && e.KeyChar != '0')
{
e.Handled = false; return;
}
else if(len == 0)
{
MessageBox.Show("编号不能以0开头!"); return;
}
e.Handled = false; return;
}
else
{
MessageBox.Show("编号最多只能输入5位数字!");
}
}
}
else
{
MessageBox.Show("编号只能输入数字!");
}
}
才疏学浅(TextBox 小数点不能在首位+只能输入数字)

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if(e.KeyChar !=8&&e.KeyChar!=13&&!char.IsDigit(e.KeyChar)&&e.KeyChar!=46)
{ //8 删除键 13回车 46 小数点
MessageBox.Show("请输入数字");
e.Handled = true;//禁止输入
}
if(e.KeyChar==46)
{
if (textBox1.Text.Length<=0)//判断小数点不能为1
{
e.Handled = true;
MessageBox.Show("小数点不能在第一位");
}
}
}

结论:
上面的案例是错误的,这是互联网上的版本,当你第一次输入小数点,是提示的,但是,如果我先输入123456,然后把光标移到第一位再次输入 小数点 就没办法判断了。

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if(e.KeyChar !=8&&e.KeyChar!=13&&!char.IsDigit(e.KeyChar)&&e.KeyChar!=46)
{ //8 删除键 13回车 46 小数点
MessageBox.Show("请输入数字");
e.Handled = true;//禁止输入
}
if(e.KeyChar==46)
{
if (textBox1.SelectionStart==0)//判断小数点不能为1
{
e.Handled = true;
MessageBox.Show("小数点不能在第一位");
}
}
}

这是我的代码,让判断跟着 光标走即可。
|
1
2
3
4
5
6
7
|
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { int flag=0; if(e.KeyChar !=8&&e.KeyChar!=13&&!char.IsDigit(e.KeyChar)&&e.KeyChar!=46) { //8 删除键 13回车 46 小数点 MessageBox.Show("请输入数字"); e.Handled = true;//禁止输入 } if(e.KeyChar==46 && flag==1) { if (textBox1.SelectionStart==0)//判断小数点不能为1 { flag=1; e.Handled = true; MessageBox.Show("小数点不能在第一位"); } } } |
---------------------------------------------------------------
如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。
C# textbox中输入时加限制条件 // C#Winform下限制TextBox只能输入数字 // 才疏学浅(TextBox 小数点不能在首位+只能输入数字)的更多相关文章
- WinForm中TextBox 中判断扫描枪输入与键盘输入
本文转载:http://www.cnblogs.com/Hdsome/archive/2011/10/28/2227712.html 提出问题:在收货系统中,常常要用到扫描枪扫描条码输入到TextBo ...
- Ajax实现搜索栏中输入时的自动提示功能
使用 jQuery(Ajax)/PHP/MySQL实现自动完成功能 JavaScript代码: <script src="jquery-1.2.1.pack.js" type ...
- 服务器启动时Webapp的web.xml中配置的加载顺序
一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Ser ...
- 服务器启动时Webapp的web.xml中配置的加载顺序(转载)
一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Ser ...
- C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处
一直以为对于引用类型做为参数在方法调用时加不加 ref 关键字是没有区别的.但是今天一调试踪了一下变量内存情况才发现大有不同. 直接上代码,结论是:以下代码是使用了 ref 关键字的版本.它输出1 ...
- win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件
win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件 我杀过 w3wp.exe和asp.net_state的进程,重启 iis admin的服务,都还是不行. 只是把 ...
- java系列: 在eclipse中调试时,输入的jsp或者servlet页面的地址要区分大小写
比如在当前web工程中有一个jsp页面的名字是: Welcome.jsp 在eclipse中调试时,如果在浏览器中输入: http://localhost:8080/MavenWeb/welcome. ...
- C# TextBox中只允许输入数字的方法
1.在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理, 判断keychar的值.限制只能输入数字,小数点,Backspace,del这几个键.数字0-9所 ...
- winform中如何在TextBox中只能输入数字(可以带小数点)
可以采用像web表单验证的方式,利用textbox的TextChanged事件,每当textbox内容变化时,调用正则表达式的方法验证,用一个label在text后面提示输入错误,具体代码如下: pr ...
随机推荐
- hibernate+struts2
一.环境 添加struts2和hibernate的jar包.创建web.xml(配置struts的过滤器).struts2.xml和hibernate.cfg.xml(设置一些数据库参数). 二.创建 ...
- HDU_1698_Just a Hook_线段树区间更新
Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Android中Webview使用经验总结
很早前就喜欢在Android中使用Webview组件结合JS来做应用,总结了一些不错的小经验,在这里持续更新,自己备忘,也希望给其他需要的同学一些参考- 1.添加权限 要用Webview,确认你在** ...
- 简述prototype, _proto_, constructor三者的关系
1.prototype 感概:每个函数都有一个prototype这个属性,而这个属性指向一个对象,这个对象称为原型对象 作用: a.节约内存 b.扩展属性和方法 c.实现类与类的之间的继承 2._pr ...
- 【VIP视频网站项目】VIP视频网站项目v1.0.3版本发布啦(程序一键安装+电影后台自动抓取+代码结构调整)
在线体验地址:http://vip.52tech.tech/ GIthub源码:https://github.com/xiugangzhang/vip.github.io 项目预览 主页面 登录页面 ...
- 7-20 Windows消息队列 (25 分)(模拟水题)
题意: 思路: 用优先队列直接模拟就OK了,另外优先队列存pair的时候比较的是first的值,实测!! 上代码: #include <iostream> #include <que ...
- 微信小程序如何引用iconfont图标
最近在研究微信小程序,自己写demo的时候想要引用巴里巴巴图标库的图标,于是: @font-face { font-family: 'iconfont'; src: url('iconfont.eot ...
- 倍增/线段树维护树的直径 hdu5993/2016icpc青岛L
题意: 给一棵树,每次询问删掉两条边,问剩下的三棵树的最大直径 点10W,询问10W,询问相互独立 Solution: 考虑线段树/倍增维护树的直径 考虑一个点集的区间 [l, r] 而我们知道了有 ...
- Android音乐、视频类APP常用控件:DraggablePanel(1)
Android音乐.视频类APP常用控件:DraggablePanel(1) Android的音乐视频类APP开发中,常涉及到用户拖曳视频.音乐播放器产生一定交互响应的设计需求,最典型的以You ...
- mysql-sql语句中变量的使用
最近工作中用到mysql,发现mysql和Oracle差别挺大的,其不像Oracle中存在丰富的分析函数(开窗函数),如rank(),lag(),leaf()等,只能用变量来获取以便达到分析函数的效果 ...