zoukankan      html  css  js  c++  java
  • winform中文本框的一些案例

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

    首先,对上面的文本框输入值进行控制,只允许用户输入数字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

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

  • 相关阅读:
    LeetCode OJ--Sort Colors
    LeetCode OJ--Single Number II **
    LeetCode OJ--Single Number
    LeetCode OJ--Subsets II
    LeetCode OJ--ZigZag Conversion
    3ds Max学习日记(三)
    3ds Max学习日记(二)
    3ds Max学习日记(一)
    PokeCats开发者日志(十三)
    PokeCats开发者日志(十二)
  • 原文地址:https://www.cnblogs.com/chens2865/p/4578876.html
Copyright © 2011-2022 走看看