项目中经常看到在输入金额时,会加逗号,最近在复习正则表达式,就联系下,界面如下:

aaarticlea/png;base64,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" alt="" />

首先,对上面的文本框输入值进行控制,只允许用户输入数字0-9,小数点和退格键,注册文本框的KeyPress事件,代码如下:

 //输入值只能在数字0-9之间,允许输入小数点和退格键
if ((e.KeyChar < '' || e.KeyChar > '') && e.KeyChar != && e.KeyChar != )
{
e.Handled = true;
} //第一位不能是0
if (txtMoney.SelectionStart==&&e.KeyChar=='')
{
e.Handled = true;
}

我想在光标离开文本框(其不再是窗体上的活动控件时,给用户输入值加逗号,注册Leave事件),代码如下:

 #region 光标离开时加上逗号
string sMsg = txtMoney.Text.Trim();
if (!string.IsNullOrEmpty(sMsg))
{
txtMoney.Text = Regex.Replace(sMsg, @"(?<=\d)(?=(\d{3})+(?!\d))", ",");
}
#endregion

代码中用到了正则表达式中的“环视”。

最后,在移入光标(文本框成为窗体的活动控件时,删除添加的逗号,注册Enter事件),代码如下:

 #region 光标移入时删除逗号
string sMsg = txtMoney.Text.Trim();
if (!string.IsNullOrEmpty(sMsg))
{
txtMoney.Text = sMsg.Replace(",", string.Empty);
}
#endregion

主要是复习下对环视的应用。

winform中文本框的一些案例的更多相关文章

  1. winform中文本框添加拖拽功能

    对一个文本框添加拖拽功能: private void txtFolder_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataP ...

  2. C#-WinForm中文本框的中文乱码问题

    上面这句话可以解决textbox中的中文乱码问题   来自为知笔记(Wiz) 附件列表 QQ图片20151218124007.png

  3. winform中文本框,软键盘跟随

    private void textBox1_Click(object sender, EventArgs e) { //Control.MousePosition Point p = System.W ...

  4. (十六)c#Winform自定义控件-文本框哪里去了?-HZHControls

    官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...

  5. Silverlight中文本框添加回车事件后,换行无法清除的解决方法

    在开发Silverlight的项目中,为了更好的用户体验,我们常要给一些控件添加一些快捷键.然而,在Silverlight中当用户回车提交后,光标停留在文本框的第二行怎么也清除不掉,经过一段时间研究, ...

  6. (三十一)c#Winform自定义控件-文本框(四)

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  7. css中文本框与按钮对不齐解决方案

    我们先对对input标记设定样式,代码如下: html 代码 <form> <input type=”text” name=”text1” id=”text1” /> < ...

  8. JQuery中文本框获取焦点

    今天遇见这么一个小小的问题,就是文本框中需要输入内容才可以提交,如果没有输入就提示并使该文本框获得焦点! 这么一个简单的事情如果没有使用jQuery的话 是不是对象.focus()就可以了, 可是当我 ...

  9. IOS中文本框输入自动隐藏和自动显示

    uilabe和UIText扩展方法 +(UILabel*)LabWithFrame:(CGRect)_rect text:(NSString*)aText textColor:(UIColor*)aC ...

随机推荐

  1. centos6.5下Python IDE开发环境搭建

    自由不是想做什么就做什么,而是想不做什么就不做什么.        ---摘抄于2016/11/30晚 之前学习了一段时间的Python,但所有部署都在windows上.正赶上最近在学习liux,以后 ...

  2. Android内存优化(使用SparseArray和ArrayMap代替HashMap)

    在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到 ...

  3. sre_constants.error: unbalanced parenthesis

    Traceback (most recent call last):   File "androidmarket82.py", line 108, in <module> ...

  4. hibernate-mapping的各种属性配置

    先给出一份常见的持久化类配置文件大概熟悉一下 <strong><spanstyle="font-size: 18px;"><hibernate-map ...

  5. 方法字段[C# 基础知识系列]专题二:委托的本质论

    首先声明,我是一个菜鸟.一下文章中出现技术误导情况盖不负责 引言: 上一个专题已和大家分享了我懂得的——C#中为什么须要委托,专题中简略介绍了下委托是什么以及委托简略的应用的,在这个专题中将对委托做进 ...

  6. 脚本命令高级Bash脚本编程指南(31):数学计算命令

    题记:写这篇博客要主是加深自己对脚本命令的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 高等Bash脚本编程指南(31):数学盘算命令 成于坚持,败于止步 操作数字 factor ...

  7. 微设计(www.weidesigner.com)介绍系列文章(一)

    1.1 什么是微设计? 微设计(www.weidesigner.com)是一个专门针对微信公众账号提供营销推广服务而打造的第三方平台.主要功能是针对微信商家公众号提供与众不同的.有针对性的营销推广服务 ...

  8. spring-mvc整合freemarker并在ftl模版中显示服务端校验的错误信息,JSR303或者JSR349

    写法有多种,应该可以任意组合,最重要的是要引入spring.ftl 1.Bean里面的就不再多写了,来个简单就可以了 @NotEmpty(message="用户密码码不可为空") ...

  9. X64 Win7(win2008)连接SqlServer2005慢的解决办法

    问题描述:数据库版本:SQL SERVER 2005数据库安装环境: Win 2003 X64 客户端环境:Win 2008 x64连接工具:ODBC或ado.net测试连接时间:4-6秒 客户端环境 ...

  10. [Redux] Accessing Dispatch and State with Redux -- connect

    If you have props and actions, you want one component to access those props and actions, one solutio ...