热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VS2003和VS2005下文本框的只能输入数字类型的区别

前几天在做项目时,分别用03和05做,发现在判别文本框检验只能输入数字类型的数字时,在TextBox_KeyPress事件中e.keychar的属性有所区别,在VS2003下,是只
前几天在做项目时,分别用03和05做,发现在判别文本框检验只能输入数字类型的数字时,在TextBox_KeyPress事件中e.keychar的属性有所区别,在VS2003下,是只读的,而在VS2005下是既可读又可写.所以在输入的数字是全角数字时,所处理的方法有所区别.现在把两种方法写下来:
VS2003下:       

 1Code#region Code
 2        //只能输入数字类型
 3        private void textBox2_KeyUp(object sender, KeyEventArgs e)
 4        {
 5            string old = textBox2.Text.Trim();
 6            textBox2.Text = ToDBC(old);
 7           
 8        }

 9        //全角转半角
10        public string ToDBC(string input)
11        {
12            char[] c = input.ToCharArray();
13            for (int i &#61; 0; i < c.Length; i&#43;&#43;)
14            {
15                if (c[i] &#61;&#61; 12288)
16                {
17                    c[i] &#61; (char)32;
18                    continue;
19                }

20                if (c[i] > 65280 && c[i] < 65375)
21                    c[i] &#61; (char)(c[i] - 65248);
22            }

23            return new string(c);
24        }

25        //键盘按键事件
26        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
27        {
28            string old &#61; textBox2.Text.Trim();
29            if (!char.IsDigit(e.KeyChar))
30            {
31                e.Handled &#61; true;
32                textBox2.Text &#61; ToDBC(old);
33            }

34            //&#39;\b&#39;是退格键值
35            if (e.KeyChar &#61;&#61; &#39;\b&#39; || e.KeyChar &#61;&#61; &#39;.&#39;)
36            {
37                e.Handled &#61; false;
38            }

39        }

40        #endregion
       VS2005下:          
 1Code#region Code
 2        //只能输入数字
 3        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
 4        {
 5           
 6          if (!char.IsDigit(e.KeyChar))
 7            {
 8                e.Handled &#61; true;
 9            }

10            //&#39;\b&#39;是退格键值
11            if (e.KeyChar &#61;&#61; &#39;\b&#39;) e.Handled &#61; false;
12            switch (e.KeyChar)//处理全角字
13            {
14                case &#39;&#xff11;&#39;:
15                    {
16                        e.KeyChar &#61; &#39;1&#39;;
17                        break;
18                    }

19                case &#39;&#xff12;&#39;:
20                    {
21                        e.KeyChar &#61; &#39;2&#39;;
22                        break;
23                    }

24                case &#39;&#xff13;&#39;:
25                    {
26                        e.KeyChar &#61; &#39;3&#39;;
27                        break;
28                    }

29                case &#39;&#xff14;&#39;:
30                    {
31                        e.KeyChar &#61; &#39;4&#39;;
32                        break;
33                    }

34                case &#39;&#xff15;&#39;:
35                    {
36                        e.KeyChar &#61; &#39;5&#39;;
37                        break;
38                    }

39                case &#39;&#xff16;&#39;:
40                    {
41                        e.KeyChar &#61; &#39;6&#39;;
42                        break;
43                    }

44                case &#39;&#xff17;&#39;:
45                    {
46                        e.KeyChar &#61; &#39;7&#39;;
47                        break;
48                    }

49                case &#39;&#xff18;&#39;:
50                    {
51                        e.KeyChar &#61; &#39;8&#39;;
52                        break;
53                    }

54                case &#39;&#xff19;&#39;:
55                    {
56                        e.KeyChar &#61; &#39;9&#39;;
57                        break;
58                    }

59                case &#39;&#xff10;&#39;:
60                    {
61                        e.KeyChar &#61; &#39;0&#39;;
62                        break;
63                    }

64                defaultbreak;
65            }

66
67        }

68        #endregion
          相对来说,2005下,实现起来更容易一些.

转:https://www.cnblogs.com/yangjie5188/archive/2008/02/16/1070375.html



推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
author-avatar
xiaojin
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有