分类: 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 小数点不能在首位+只能输入数字)

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

结论:

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

  1. private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
    if(e.KeyChar !=8&&e.KeyChar!=13&&!char.IsDigit(e.KeyChar)&&e.KeyChar!=46)
    {
  2.  
  3. //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. Python爬取贴吧中的图片

    #看到贴吧大佬在发图,准备盗一下 #只是爬取一个帖子中的图片 1.先新建一个scrapy项目 scrapy startproject TuBaEx 2.新建一个爬虫 scrapy genspider ...

  2. SQL基本操作——函数

    函数的类型:在 SQL 中,基本的函数类型和种类有若干种.函数的基本类型是:Aggregate 函数.Scalar 函数. Aggregate 函数:操作面向一系列的值,并返回一个单一的值,下面是SQ ...

  3. POJ 3070 - 快速矩阵幂求斐波纳契数列

    这题并不复杂. 设$A=\begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}$ 由题中公式: $\begin{pmatrix}f(n+1) & ...

  4. ARX中类型强制转换

    比如 克隆 clone, 获得的是一个acrxobject, acrxobject *pobj=pployline->clone(); acdbpolyline *ppoly=acdbpolyl ...

  5. @viewChild

    https://www.cnblogs.com/mttcug/p/8004359.html

  6. centos7mini版安装pyenv,ipython和jupyter环境.2090513

    第一节: 搭建centos7下pyenv,ipython,jupyter环境 pyenv:是一个python多版本管理器,在这个里面可以安装多个版本共存,然后可以安装需求选择版本. ipython:就 ...

  7. js 包管理工具

    环境 Windows10 + node 12.x + Webstorm 2019.1.3 工具 npm cnpm yarn npm/cnpm Webstorm 中第一次安装包一定几率卡死,很烦 不使用 ...

  8. 16.1 foreach 循环中捕获变量的变化

    在 foreach 循环内的匿名函数(通常为Lambda表达式)中捕获循环 变量时要格外小心.代码清单16-1就展示了这样一个简单的示例,它看上去似乎会输出 x . y . z . string[] ...

  9. Python----递归------Eight Queens 八皇后问题

    递归思想是算法编程中的重要思想. 作为初学者,对递归编程表示很蒙逼,每次遇到需要递归的问题,心里就有一万头草泥马飞过~~~~~~(此处略去一万头草泥马) 在B站看数据结构与算法的视频时,视频中给了两个 ...

  10. EasyUI, Dialog 在框架页(ifrmae)的Top页面弹出时,拖拽Dialog边缘(以改变窗口大小),UI界面被卡死的解决办法

    将Dialog的modal属性设置为true,可以解决卡死的问题(但会给用户使用体验带来影响) var par = { title: This.title, width: This.width, he ...