好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

扩展方法应用

扩展方法应用

using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  System.Windows.Forms;

namespace  TaskManager
{
     public   static   class  ValidateHelper
     {
         static  ValidateHelper()
         {
            IsErr  =   false ;
        }

         public   static   bool  IsErr
         {
             get ;
             set ;
        }
         static  ErrorProvider ep  =   new  ErrorProvider();
         public   static   bool  Validate( this  TextBox ctrl, System.Func < TextBox,  bool >  func,  string  errmsg)
         {
             if  ( ! func(ctrl))
             {
                ep.SetError(ctrl, errmsg);
                ctrl.Focus();

                 return   ! (IsErr = true );
            }
             return   true ;
        }
         public   static   bool  Validate( this  ListBox ctrl, System.Func < ListBox,  bool >  func,  string  errmsg)
         {
             if  ( ! func(ctrl))
             {
                ep.SetError(ctrl, errmsg);
                ctrl.Focus();

                 return   ! (IsErr  =   true );
            }
             return   true ;
        }
         public   static   void  Clear()
         {
            ep.Clear();
            IsErr  =   false ;
        }
    }
}

还是照样上两张图

用法

Code
           ValidateHelper.Clear();
             this .txtName.Validate(t  =>   string .IsNullOrEmpty(t.Text),  " 不能为空 " );
             this .lstboxFileList.Validate(t  =>  t.Items.Count  <   2 ,  " 请加载任务资源包 " );
             if  (ValidateHelper.IsErr)
                 return ;
            // do sth ha

相关文章链接:

C#学习使用ErrorProvider

http://www.cnblogs.com/sondy/archive/2006/04/16/376254.html

ErrorProvider的用法

http://www.cnblogs.com/sondy/archive/2006/04/16/376254.html

验证能有多优雅

http://www.cnblogs.com/GrayZhang/archive/2008/09/01/1281526.html

查看更多关于扩展方法应用的详细内容...

  阅读:53次

上一篇: BDBViewer

下一篇:BDB使用总结