前言:
现时我们对“懒人代码”可能比较重视,各位老铁们都想要知道一些“懒人代码”的相关知识。那么小编也在网络上收集了一些对于“懒人代码””的相关知识,希望朋友们能喜欢,小伙伴们快快来了解一下吧!上次说到了对string的扩展,这次对TextBox进行扩展一下。
在TextBox需要仅输入数字的场合,可以通过KeyPress方法实现。
但是如果一个庞大的项目,里面有一堆的TextBox需要限制仅输入整数。。。你咋整?
每一个都写一个KeyPress,这不符合我们懒人的作风,就是复制粘贴。。。。多了手指头也会酸掉。。。
嗯。。。不多说了,直接上代码。
还是通过重构的方式实现。。。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;namespace System{ public static class CommControl { #region 限制:TextBox内仅能输入整数 /// <summary> /// 限制:TextBox内仅能输入整数 /// </summary> /// <param name="tb"></param> public static void SetNumber(this TextBox tb) { // 限制:TextBox内仅能输入整数 tb.KeyPress += new KeyPressEventHandler(tb_KeyPress_SetNumber); } /// <summary> /// 实现方法:TextBox内仅能输入整数 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> static void tb_KeyPress_SetNumber(object sender, KeyPressEventArgs e) { // 退格键,这个得保留 if ((int)e.KeyChar == 8) { return; } // 判断所输入的是否在0~9数字范围外 if ((int)e.KeyChar < 48 || (int)e.KeyChar > 57) { e.Handled = true; return; } } #endregion #region 限制:TextBox内仅能输入浮点数 /// <summary> /// 限制:TextBox内仅能输入浮点数 /// </summary> /// <param name="tb"></param> public static void SetDouble(this TextBox tb) { // 限制:TextBox内仅能输入浮点数 tb.KeyPress += new KeyPressEventHandler(tb_KeyPress_SetDouble); } /// <summary> /// 实现方法:TextBox内仅能输入浮点数 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> static void tb_KeyPress_SetDouble(object sender, KeyPressEventArgs e) { // 退格键,这个得保留 if ((int)e.KeyChar == 8) { return; } // 输入的内容为“.”的情况 if ((int)e.KeyChar == 46) { // 判断输入的“.”前面是否有内容,若没有,限制输入 if (((TextBox)sender).Text.Length == 0) { e.Handled = true; return; } // 判断前面是否已经输入了“.” if (((TextBox)sender).Text.IndexOf('.') > -1) { e.Handled = true; return; } else { return; } } // 判断所输入的是否在0~9数字范围外 if ((int)e.KeyChar < 48 || (int)e.KeyChar > 57) { e.Handled = true; return; } } #endregion }}
估计有程序猿会问我,这玩意咋用。。。
很简单,在你项目里建一个类文件,把这段代码复制粘贴进去。然后。。。。在你程序的TextBox对象后面输入一个点看一下,惊喜有木有。。。。
对。。。。你没看错。。下面俩个方法就是我们刚才扩展的方法。调用一下,你的文本框就只能输入整数或者浮点数了。。。
TextBox tb = new TextBox(); // TextBox仅能输入整数 tb.SetNumber(); // TextBox仅能输入浮点数 tb.SetDouble();
很简单有木有。。。。很懒有木有。。。
有时候,懒到一定程度了,就成了创新
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #懒人代码