网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

创建具有自验证功能的textbox控件

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/13
me = "";

public string FriendlyName {
   get { return _friendlyName; }
   set { _friendlyName = value; }
}

    最后,我们重写IsValid事件,使它可以在验证不通过时可以改变控件的背景颜色
public bool IsValid {
   get { return _valid; }
   set {
      _valid = value;
      if (!_valid) {
         this.BackColor = Color.LightCoral;
      }
      else {
         this.BackColor = Color.White;
      }
   }
}

    不允许出现空格

    首先我们需要确定,提供一个可选项以决定是否允许为空值,我们在这里需要创建一个属性以判断是否可以为空
   
private bool _blankAllowed = true;

public bool AllowBlank {
    get { return _blankAllowed; }
    set { _blankAllowed = value; }
}

    最后,我们可以重写验证函数
   
public virtual void Validate() {
   this.IsValid = true;

   if (!this.AllowBlank) {
      bool isBlank = (this.Text.Trim() == "");

      if (isBlank) {
         this.ErrorMessage =
             String.Format("''{0}'' cannot be blank.",
             this.FriendlyName);
         this.IsValid = false;
      }
   }
}

    拓展我们的创意

    现在我们已经创建了一个内建基本验证功能的textbox控件,现在我们可以延展我们的想法,创建更多的有趣的具有特定验证功能的textbox控件
   
    下面以创建一个只允许输入整型数据的textbox控件(IntegerTextBox),并且使该控件具有只允许输入的数据必须在一定的范围内,但我们仍然需要考虑是否允许空值,所以,象上面一样,需要添加一个属性
   
    在上面我们创建的基本的textbox控件的基础上,我们仅仅需要继承该控件,然后覆盖Validate函数和添加一些新的属性
   
private int _minValue = Int32.MinValue;
private int _maxValue = Int32.MaxValue;

public int MinValue {
   get { return _minValue; }
   set {
      _minValue = value;

      if (_minValue > _maxValue) {
          int swap = _minValue;
          _minValue = _maxValue;
          _maxValue = swap;
      }
   }
}

public int MaxValue {
   get { return _maxValue; }
   set {
      _maxValue = value;

      if (_minValue > _maxValue) {
          int swa

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号