zoukankan      html  css  js  c++  java
  • winform 表单正则表达式验证 示例(ValidationRule)

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using DevExpress.XtraEditors.DXErrorProvider;
    using DevExpress.XtraEditors.Controls;
    using System.Text.RegularExpressions;
    
    namespace DevDemo
    {
        public partial class LoginForm : Form
        {
            public LoginForm()
            {
                InitializeComponent();
                InitValidationMode();
            }
    
            private void InitValidationMode()
            {
                CustomValidationRule rule = new CustomValidationRule();
                rule.ErrorText = "用户登录代码只能是8位长,并且前两位是字符,后面是数字";
                rule.ErrorType = ErrorType.Critical;
                //绑定验证控件
                vpMain.SetValidationRule(txtUserName, rule);
            }
    
            private void btnLogin_Click(object sender, EventArgs e)
            {
                vpMain.Validate();            
                if (txtUserName.Text == "vp123456" && txtPassword.Text == MD5("aaaaaa"))
                {
                    this.Hide();
                    MainForm m = new MainForm();
                    m.Show();
                }
            }
    
            private string MD5(string str)
            {
                return str;
            }
        }
    
        #region CustomValidationRule
        // <customTextEdit>
        public class CustomValidationRule : ValidationRule
        {
            public override bool Validate(Control control, object value)
            {
                string parttern = @"^[wW]{2}d{6}$";
                bool res = false;
                res = Regex.IsMatch(value.ToString(), parttern);
                return res;
            }
        }
    
        #endregion
    }
    LoginForm.cs
    namespace DevDemo
    {
        partial class LoginForm
        {
            /// <summary>
            /// Required designer variable.
            /// </summary>
            private System.ComponentModel.IContainer components = null;
    
            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    
            #region Windows Form Designer generated code
    
            /// <summary>
            /// Required method for Designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            private void InitializeComponent()
            {
                this.components = new System.ComponentModel.Container();
                this.btnLogin = new DevExpress.XtraEditors.SimpleButton();
                this.lblUserName = new DevExpress.XtraEditors.LabelControl();
                this.lblPassword = new DevExpress.XtraEditors.LabelControl();
                this.txtUserName = new DevExpress.XtraEditors.TextEdit();
                this.vpMain = new DevExpress.XtraEditors.DXErrorProvider.DXValidationProvider(this.components);
                this.txtPassword = new DevExpress.XtraEditors.TextEdit();
                ((System.ComponentModel.ISupportInitialize)(this.txtUserName.Properties)).BeginInit();
                ((System.ComponentModel.ISupportInitialize)(this.vpMain)).BeginInit();
                ((System.ComponentModel.ISupportInitialize)(this.txtPassword.Properties)).BeginInit();
                this.SuspendLayout();
                // 
                // btnLogin
                // 
                this.btnLogin.Location = new System.Drawing.Point(315, 178);
                this.btnLogin.Name = "btnLogin";
                this.btnLogin.Size = new System.Drawing.Size(75, 23);
                this.btnLogin.TabIndex = 0;
                this.btnLogin.Text = "登录";
                this.btnLogin.Click += new System.EventHandler(this.btnLogin_Click);
                // 
                // lblUserName
                // 
                this.lblUserName.Location = new System.Drawing.Point(72, 55);
                this.lblUserName.Name = "lblUserName";
                this.lblUserName.Size = new System.Drawing.Size(36, 14);
                this.lblUserName.TabIndex = 1;
                this.lblUserName.Text = "用户名";
                // 
                // lblPassword
                // 
                this.lblPassword.Location = new System.Drawing.Point(72, 96);
                this.lblPassword.Name = "lblPassword";
                this.lblPassword.Size = new System.Drawing.Size(40, 14);
                this.lblPassword.TabIndex = 1;
                this.lblPassword.Text = "密    码";
                // 
                // txtUserName
                // 
                this.vpMain.SetIconAlignment(this.txtUserName, System.Windows.Forms.ErrorIconAlignment.MiddleRight);
                this.txtUserName.Location = new System.Drawing.Point(146, 55);
                this.txtUserName.Name = "txtUserName";
                this.txtUserName.Size = new System.Drawing.Size(244, 20);
                this.txtUserName.TabIndex = 2;
                // 
                // txtPassword
                // 
                this.vpMain.SetIconAlignment(this.txtPassword, System.Windows.Forms.ErrorIconAlignment.MiddleRight);
                this.txtPassword.Location = new System.Drawing.Point(146, 96);
                this.txtPassword.Name = "txtPassword";
                this.txtPassword.Properties.PasswordChar = '*';
                this.txtPassword.Size = new System.Drawing.Size(244, 20);
                this.txtPassword.TabIndex = 3;
                // 
                // LoginForm
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(473, 261);
                this.Controls.Add(this.txtPassword);
                this.Controls.Add(this.txtUserName);
                this.Controls.Add(this.lblPassword);
                this.Controls.Add(this.lblUserName);
                this.Controls.Add(this.btnLogin);
                this.Name = "LoginForm";
                this.Text = "登陆";
                ((System.ComponentModel.ISupportInitialize)(this.txtUserName.Properties)).EndInit();
                ((System.ComponentModel.ISupportInitialize)(this.vpMain)).EndInit();
                ((System.ComponentModel.ISupportInitialize)(this.txtPassword.Properties)).EndInit();
                this.ResumeLayout(false);
                this.PerformLayout();
    
            }
    
            #endregion
    
            private DevExpress.XtraEditors.SimpleButton btnLogin;
            private DevExpress.XtraEditors.LabelControl lblUserName;
            private DevExpress.XtraEditors.LabelControl lblPassword;
            private DevExpress.XtraEditors.TextEdit txtUserName;
            private DevExpress.XtraEditors.DXErrorProvider.DXValidationProvider vpMain;
            private DevExpress.XtraEditors.TextEdit txtPassword;
        }
    }
    LoginForm.Designer.cs

    -----------------------------

    天王盖地虎小说网:http://www.twgdh.com/

     
  • 相关阅读:
    sql 删除默认索引,对象 依赖于 列,由于一个或多个对象访问此列
    sql 重复数据查询
    Sql 查询结果 根据某个字段值 变更另外一个字段值 case when
    使用ABP框架踩过的坑系列3
    使用ABP框架踩过的坑系列5
    使用ABP框架踩过的坑系列4
    使用ABP框架踩过的坑系列2
    使用ABP框架踩过的坑系列1
    java rest框架jersey数组单记录问题解决
    测试工程师面试常见逻辑题
  • 原文地址:https://www.cnblogs.com/haowuji/p/3216735.html
Copyright © 2011-2022 走看看