我用C#写控件(带空值提示的文本框)

转载 2007年10月08日 08:58:00
我写了5年的应用程序了。客户的输入界面逻辑一直很烦人。
 
“为什么程序老是提示我没有输入完整的关键数据。能不能不检测这一步和提示”,“这个框一定要输入吗?我不知道!”有些客户经常会给我来电这样说。我只能一次一次的给他们做解释“说明书上已经说了,这是你们业务上要求要输入的关键数据,是必要的唯一性检测。”。
 
后来我自己用C#写了这个控件,可以在输入的文本框中当没有输入任何值时,会有“<关键值>”、“”等等。用户一看就知道,这里必须要他输入。
 
代码如下:

    public class TextBox : System.Windows.Forms.TextBox
    {

        //转载时请自觉加上以下转载信息:

        /*王伟晔编写代码段

        * cgzwwy@126.com

         */
        public TextBox()
            : base()
        {
            processDefaultValue();
        }

        protected override void OnVisibleChanged(EventArgs e)
        {
            base.OnVisibleChanged(e);
            processDefaultValue();
        }

        protected override void OnMouseClick(System.Windows.Forms.MouseEventArgs e)
        {
            base.OnMouseClick(e);
            base.SelectAll();
        }

        private System.String strEmptyValue = System.String.Empty;
        public System.String EmptyValue//记录空值的表现
        {
            get { return strEmptyValue; }
            set
            {
                if (base.Text == strEmptyValue)
                    base.Text = value.Trim();
                strEmptyValue = value.Trim();
                processDefaultValue(); }
        }

        protected override void OnValidating(System.ComponentModel.CancelEventArgs e)//覆盖TextBox验证处理
        {
            processDefaultValue();
            base.OnValidating(e);
        }

        public override string Text//覆盖Text属性
        {
            get
            {
                return base.Text.Trim() == strEmptyValue.Trim() ? System.String.Empty : base.Text.Trim();
            }
            set
            {
                base.Text = value;
                processDefaultValue();
            }
        }

        void processDefaultValue()//处理表现空值的方法
        {
            base.Text = base.Text.Trim().Length <= 0 ? strEmptyValue : base.Text.Trim();
        }
    }

    

C#下文本框的建议提示控件

前段时间写了个C#下的文本框建议提示控件,

easyui 日期控件清空值

最近用了Easyui的日期控件datebox,项目中要将选中值清空,于是就研究了一下。      1,调用方法清空 [javascript] view plain co...
  • babyxue
  • babyxue
  • 2017年04月21日 16:11
  • 653

easyui 日期控件清空值

最近用了Easyui的日期控件datebox,项目中要将选中值清空,于是就研究了一下。      1,调用方法清空 $('#yourId').combo('setText','');   ...

【注解 butterknife】控件弄死都要空值异常

1、以前都没问题,今天导入,就空值了。 使用的butterknife的版本是8.4.0,https://github.com/JakeWharton/butterknife 2、根据github上的...

实现类似google搜索效果,文本框输入智能提示,没有用ajax控件和第三方控件,完全手写代码

前台页面代码:
  • wdywqc
  • wdywqc
  • 2011年04月12日 10:18
  • 1982

c# 文本框控件与标签控件

文本框控件与标签控件 一、  文本框控件。 文本框控件通常用于接收用户的输入或者显示文字,该控件使用TextBox类封装,它可以编辑单行或多行文本。 使用方式 TextBox tb = new ...
  • bcb_521
  • bcb_521
  • 2012年08月02日 12:57
  • 4379
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我用C#写控件(带空值提示的文本框)
举报原因:
原因补充:

(最多只允许输入30个字)