分类: C# winform2008-08-26 08:30 306人阅读 评论(0) 收藏 举报

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只能输入数字

2010-07-21 08:41:07|  分类: C#|字号 订阅

 
 

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 小数点不能在首位+只能输入数字)的更多相关文章

  1. WinForm中TextBox 中判断扫描枪输入与键盘输入

    本文转载:http://www.cnblogs.com/Hdsome/archive/2011/10/28/2227712.html 提出问题:在收货系统中,常常要用到扫描枪扫描条码输入到TextBo ...

  2. Ajax实现搜索栏中输入时的自动提示功能

    使用 jQuery(Ajax)/PHP/MySQL实现自动完成功能 JavaScript代码: <script src="jquery-1.2.1.pack.js" type ...

  3. 服务器启动时Webapp的web.xml中配置的加载顺序

    一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Ser ...

  4. 服务器启动时Webapp的web.xml中配置的加载顺序(转载)

    一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Ser ...

  5. C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处

    ​ 一直以为对于引用类型做为参数在方法调用时加不加 ref 关键字是没有区别的.但是今天一调试踪了一下变量内存情况才发现大有不同. 直接上代码,结论是:以下代码是使用了 ref 关键字的版本.它输出1 ...

  6. win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件

    win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件 我杀过 w3wp.exe和asp.net_state的进程,重启 iis admin的服务,都还是不行. 只是把 ...

  7. java系列: 在eclipse中调试时,输入的jsp或者servlet页面的地址要区分大小写

    比如在当前web工程中有一个jsp页面的名字是: Welcome.jsp 在eclipse中调试时,如果在浏览器中输入: http://localhost:8080/MavenWeb/welcome. ...

  8. C# TextBox中只允许输入数字的方法

    1.在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理, 判断keychar的值.限制只能输入数字,小数点,Backspace,del这几个键.数字0-9所 ...

  9. winform中如何在TextBox中只能输入数字(可以带小数点)

    可以采用像web表单验证的方式,利用textbox的TextChanged事件,每当textbox内容变化时,调用正则表达式的方法验证,用一个label在text后面提示输入错误,具体代码如下: pr ...

随机推荐

  1. Android Thermal-engine

    Thermal Engine Thermal 相关的东西主要在Vendor/qcom/proprietary/thermal-engine 目录下: thermal-engine.conf 文件可以用 ...

  2. linux 安装 mongo

    整个安装过程:下载安装包--> 解压,添加系统路径(是滴,不用安装解压即可) --> 创建数据目录 --> 启动mongod服务 --> 运行mongo 1.下载安装包 Mon ...

  3. jQuery——this

    js注册事件this代表的dom对象 jQuery注册事件this代表的也是dom对象,所以需要$(this)转成jQuery对象

  4. linux共享库的版本控制

    前几天看到一篇介绍linux共享库版本控制及使用的文章,觉得不错,这里就与大家分享一下. 1. Linux约定 经常看到Linux中,共享库的名字后面跟了一串数字,比如:libperl.so.5.18 ...

  5. ASP.NET 缓存(Cache)

    ASP.NET提供了在一个ASP.NET应用程序基本上缓存信息的编程功能.该功能和Application对象相似,但它具有在ASP.NET应用程序的生命周期内动态维护缓存信息的能力.在应用程序中缓存数 ...

  6. CentOS7阿里云服务器,python程序requests无法正常post网站(报502)

    问题描述: 使用jenkins构建接口自动化测试时,发现新增加的接口case不能访问通,会报502错误(本地可以跑通,在测试服就会502)解决的思路: 缩小调试范围(去掉jenkins db环境,将问 ...

  7. SQL With As 用法Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介

    Sql 四大排名函数(ROW_NUMBER.RANK.DENSE_RANK.NTILE)简介   排名函数是Sql Server2005新增的功能,下面简单介绍一下他们各自的用法和区别.我们新建一张O ...

  8. MySQL之索引以及正确使用索引

    一.MySQL中常见索引类型 普通索引:仅加速查询 主键索引:加速查询.列值唯一.表中只有一个(不可有null) 唯一索引:加速查询.列值唯一(可以有null) 组合索引:多列值组成一个索引,专门用于 ...

  9. Yii2开发技巧 使用类似闭包的方式封装事务

    在控制器中执行事务的时候,一般的代码如下: $transaction = Yii::$app->db->beginTransaction(); try { //一些业务代码 $transa ...

  10. php 导出Excel 不用安装插件、开启配置

    function export_csv($filename, $data) { header("Content-type:text/csv"); header("Cont ...