码迷,mamicode.com
首页 > Windows程序 > 详细

winform中文本框的一些案例

时间:2015-06-15 20:11:28      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

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

技术分享

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

技术分享
 1 //输入值只能在数字0-9之间,允许输入小数点和退格键
 2             if ((e.KeyChar < 0 || e.KeyChar > 9) && e.KeyChar != 8 && e.KeyChar != 46)
 3             {
 4                 e.Handled = true;
 5             }
 6 
 7             //第一位不能是0
 8             if (txtMoney.SelectionStart==0&&e.KeyChar==0)
 9             {
10                 e.Handled = true;
11             }
View Code

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

技术分享
1 #region 光标离开时加上逗号
2             string sMsg = txtMoney.Text.Trim();
3             if (!string.IsNullOrEmpty(sMsg))
4             {
5                 txtMoney.Text = Regex.Replace(sMsg, @"(?<=\d)(?=(\d{3})+(?!\d))", ",");
6             }
7             #endregion
View Code

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

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

技术分享
1 #region 光标移入时删除逗号
2             string sMsg = txtMoney.Text.Trim();
3             if (!string.IsNullOrEmpty(sMsg))
4             {
5                 txtMoney.Text = sMsg.Replace(",", string.Empty);
6             }
7             #endregion
View Code

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

winform中文本框的一些案例

标签:

原文地址:http://www.cnblogs.com/chens2865/p/4578876.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!