⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datagridviewmaskedtextboxcell.cs

📁 CS的DataGridView控件定义掩码录入框
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Design;

namespace WindowsApplication23
{
    public class DataGridViewMaskedTextBoxCell : DataGridViewTextBoxCell
    {
        private string mask;
        private char promptChar;
        private DataGridViewTriState includePrompt;
        private DataGridViewTriState includeLiterals;
        private Type validatingType;

        public DataGridViewMaskedTextBoxCell()
            : base()
        {
            this.mask = "";
            this.promptChar = '_';
            this.includePrompt = DataGridViewTriState.NotSet;
            this.includeLiterals = DataGridViewTriState.NotSet;
            this.validatingType = typeof(string);
        }
        /// <summary>
        /// 编辑在用户编辑单元格时
        /// </summary>
        /// <param name="rowIndex">当前行</param>
        /// <param name="initialFormattedValue">值</param>
        /// <param name="dataGridViewCellStyle">Cell样式</param>
        public override void InitializeEditingControl(int rowIndex,object initialFormattedValue,DataGridViewCellStyle dataGridViewCellStyle)
        {
            base.InitializeEditingControl(rowIndex, initialFormattedValue,dataGridViewCellStyle);
            DataGridViewMaskedTextBoxEditingControl maskedTextBoxEditing = DataGridView.EditingControl as DataGridViewMaskedTextBoxEditingControl;

            //
            // 设置MaskedTextBox特性
            //
            DataGridViewColumn dgvColumn= this.OwningColumn;
            if (dgvColumn is DataGridViewMaskedTextBoxColumn)
            {
                DataGridViewMaskedTextBoxColumn maskedTextBoxColumn = dgvColumn as DataGridViewMaskedTextBoxColumn;

                if (string.IsNullOrEmpty(this.mask))
                {
                    maskedTextBoxEditing.Mask = maskedTextBoxColumn.Mask;
                }
                else
                {
                    maskedTextBoxEditing.Mask = this.mask;
                }

                //
                //输入分割符
                //
                maskedTextBoxEditing.PromptChar = this.PromptChar;

                if (this.ValidatingType == null)
                {
                    maskedTextBoxEditing.ValidatingType = maskedTextBoxColumn.ValidatingType;
                }
                else
                {
                    maskedTextBoxEditing.ValidatingType = this.ValidatingType;
                }

                maskedTextBoxEditing.Text = (string)this.Value;
            }
        }
        /// <summary>
        /// 设置编辑状态单元格类型
        /// </summary>
        public override Type EditType
        {
            get
            {
                return typeof(DataGridViewMaskedTextBoxEditingControl);
            }
        }

        /// <summary>
        /// 正则表达式子
        /// </summary>
        public virtual string Mask
        {
            get
            {
                return this.mask;
            }
            set
            {
                this.mask = value;
            }
        }

       /// <summary>
       /// 用户输入分割符
       /// </summary>
        public virtual char PromptChar
        {
            get
            {
                return this.promptChar;
            }
            set
            {
                this.promptChar = value;
            }
        }
        public virtual DataGridViewTriState IncludePrompt
        {
            get
            {
                return this.includePrompt;
            }
            set
            {
                this.includePrompt = value;
            }
        }
        public virtual DataGridViewTriState IncludeLiterals
        {
            get
            {
                return this.includeLiterals;
            }
            set
            {
                this.includeLiterals = value;
            }
        }

        public virtual Type ValidatingType
        {
            get
            {
                return this.validatingType;
            }
            set
            {
                this.validatingType = value;
            }
        }
        protected static bool BoolFromTri(DataGridViewTriState tri)
        {
            return (tri == DataGridViewTriState.True) ? true : false;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -