//新しいプロパティを追加しているため、 // Cloneメソッドをオーバーライドする必要がある public override object Clone() { DataGridViewMaskedTextBoxColumn col = (DataGridViewMaskedTextBoxColumn)base.Clone(); col.Mask = this.Mask; return(col); }
//編集コントロールを初期化する //編集コントロールは別のセルや列でも使いまわされるため、初期化の必要がある public override void InitializeEditingControl( int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle) { base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle); //編集コントロールの取得 DataGridViewMaskedTextBoxEditingControl maskedBox = this.DataGridView.EditingControl as DataGridViewMaskedTextBoxEditingControl; if (maskedBox != null) { //Textを設定 maskedBox.Text = this.Value != null?this.Value.ToString() : ""; //カスタム列のプロパティを反映させる DataGridViewMaskedTextBoxColumn column = this.OwningColumn as DataGridViewMaskedTextBoxColumn; if (column != null) { maskedBox.Mask = column.Mask; } } }