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 ...
随机推荐
- html5——动画
基本介绍 /*执行函数gun,执行时间,重复执行,反向执行,匀速执行,延迟执行时间*/ animation: gun 4s infinite alternate linear 5s; 动画序列 1.g ...
- JS——indexOf replace search
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置 注释:indexOf() 方法对大小写敏感!如果要检索的字符串值没有出现,则该方法返回 -1. 语法:searchvalue, ...
- java 中String与StringBuilder 效率
之前印象中string与stringbuilder操作时,如果多次改变string就使用stringbuilder,效率会提高: 今天实际遇到了问题,亲身经历过之后,这性能不是一般的影响啊:不是同一个 ...
- js 获取 checkbox[] 值
$("#btnAdd1").click(function () { console.log($("form").serialize()); var checkb ...
- 把excel、txt当数据库来查询
Sub excel连接数据库() Dim Con As New ADODB.Connection Dim strCon, strsql As String Dim rs As ADODB.Record ...
- CentOS6.9下NFS配置说明(转载)
NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...
- MySQL操作数据库和表的基本语句(DDL
1.创建数据库: CREATE DATABASE 数据库名; eg.CREATE DATABASE test_ddl;122.创建表 CREATE TABLE 表名(列名 数据类型 约束,...); ...
- 学不好Linux?我们分析看看正确的学习方法是什么-马哥教育
2018年里,Linux运维的职位数量和平均薪资水平仍然持续了去年的强劲增幅,比很多开发岗位涨的都快.从研究机构的数据来看,Linux职位数量和工资水平涨幅均在IT行业的前五之列,比去年的表现还要好一 ...
- 6.shell脚本
6.1 shell基础语法 6.1.1 shell的概述 shell的基本概念 1.什么是shell shell是用户和Linux操作系统之间的接口,它提供了与操作系统之间的通讯方式 shell是一个 ...
- Redis防护建议
1.Redis本身防护 (1)不要使用默认端口(6379) (2)增加Redis用户名和密码 (3)在Redis绑定指定IP访问(位置配置文件[redis.config]中的bind节点)2.L ...