IDataGridViewEditingControl インターフェイス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


このインターフェイスは、DataGridViewComboBoxCell や DataGridViewTextBoxCell などの DataGridView のセルが編集モードのときにホストする、DataGridViewComboBoxEditingControl や DataGridViewTextBoxEditingControl などの対応するコントロールが実装します。編集コントロールをホストできるセル型では、EditType プロパティが、編集コントロールの型を表す Type に設定されます。IDataGridViewEditingControl の実装方法の詳細については、「方法 : Windows フォーム DataGridView Cells でコントロールをホストする」を参照してください。
編集コントロールをホストせずに値を指定するためのユーザー インターフェイス (UI) を提供する DataGridViewCheckBoxCell などのセル型は、IDataGridViewEditingCell インターフェイスを実装します。この場合、セルが編集モードであるかどうかにかかわらず、UI が表示されます。
DataGridViewButtonCell など、その他のセルでは、UI は表示されますが、ユーザーが指定した値は格納されません。この場合、セル型は、IDataGridViewEditingCell を実装することも、編集コントロールをホストすることもありません。

DateTimePicker を継承するこのインターフェイスの実装を次のコード例に示します。次の例は「方法 : Windows フォーム DataGridView Cells でコントロールをホストする」で取り上げている例の一部です。
Class CalendarEditingControl Inherits DateTimePicker Implements IDataGridViewEditingControl Private dataGridViewControl As DataGridView Private valueIsChanged As Boolean = False Private rowIndexNum As Integer Public Sub New() Me.Format = DateTimePickerFormat.Short End Sub Public Property EditingControlFormattedValue() As Object _ Implements IDataGridViewEditingControl.EditingControlFormattedValue Get Return Me.Value.ToShortDateString() End Get Set(ByVal value As Object) If TypeOf value Is [String] Then Me.Value = DateTime.Parse(CStr(value)) End If End Set End Property Public Function GetEditingControlFormattedValue(ByVal context _ As DataGridViewDataErrorContexts) As Object _ Implements IDataGridViewEditingControl.GetEditingControlFormattedValue Return Me.Value.ToShortDateString() End Function Public Sub ApplyCellStyleToEditingControl(ByVal dataGridViewCellStyle As _ DataGridViewCellStyle) _ Implements IDataGridViewEditingControl.ApplyCellStyleToEditingControl Me.Font = dataGridViewCellStyle.Font Me.CalendarForeColor = dataGridViewCellStyle.ForeColor Me.CalendarMonthBackground = dataGridViewCellStyle.BackColor End Sub Public Property EditingControlRowIndex() As Integer _ Implements IDataGridViewEditingControl.EditingControlRowIndex Get Return rowIndexNum End Get Set(ByVal value As Integer) rowIndexNum = value End Set End Property Public Function EditingControlWantsInputKey(ByVal key As Keys, _ ByVal dataGridViewWantsInputKey As Boolean) As Boolean _ Implements IDataGridViewEditingControl.EditingControlWantsInputKey ' Let the DateTimePicker handle the keys listed. Select Case key And Keys.KeyCode Case Keys.Left, Keys.Up, Keys.Down, Keys.Right, _ Keys.Home, Keys.End, Keys.PageDown, Keys.PageUp Return True Case Else Return False End Select End Function Public Sub PrepareEditingControlForEdit(ByVal selectAll As Boolean) _ Implements IDataGridViewEditingControl.PrepareEditingControlForEdit ' No preparation needs to be done. End Sub Public ReadOnly Property RepositionEditingControlOnValueChange() _ As Boolean Implements _ IDataGridViewEditingControl.RepositionEditingControlOnValueChange Get Return False End Get End Property Public Property EditingControlDataGridView() As DataGridView _ Implements IDataGridViewEditingControl.EditingControlDataGridView Get Return dataGridViewControl End Get Set(ByVal value As DataGridView) dataGridViewControl = value End Set End Property Public Property EditingControlValueChanged() As Boolean _ Implements IDataGridViewEditingControl.EditingControlValueChanged Get Return valueIsChanged End Get Set(ByVal value As Boolean) valueIsChanged = value End Set End Property Public ReadOnly Property EditingControlCursor() As Cursor _ Implements IDataGridViewEditingControl.EditingPanelCursor Get Return MyBase.Cursor End Get End Property Protected Overrides Sub OnValueChanged(ByVal eventargs As EventArgs) ' Notify the DataGridView that the contents of the cell have changed. valueIsChanged = True Me.EditingControlDataGridView.NotifyCurrentCellDirty(True) MyBase.OnValueChanged(eventargs) End Sub End Class
class CalendarEditingControl : DateTimePicker, IDataGridViewEditingControl { DataGridView dataGridView; private bool valueChanged = false; int rowIndex; public CalendarEditingControl() { this.Format = DateTimePickerFormat.Short; } // Implements the IDataGridViewEditingControl.EditingControlFormattedValue // property. public object EditingControlFormattedValue { get { return this.Value.ToShortDateString(); } set { String newValue = value as String; if (newValue != null) { this.Value = DateTime.Parse(newValue); } } } // Implements the // IDataGridViewEditingControl.GetEditingControlFormattedValue method. public object GetEditingControlFormattedValue( DataGridViewDataErrorContexts context) { return EditingControlFormattedValue; } // Implements the // IDataGridViewEditingControl.ApplyCellStyleToEditingControl method. public void ApplyCellStyleToEditingControl( DataGridViewCellStyle dataGridViewCellStyle) { this.Font = dataGridViewCellStyle.Font; this.CalendarForeColor = dataGridViewCellStyle.ForeColor; this.CalendarMonthBackground = dataGridViewCellStyle.BackColor; } // Implements the IDataGridViewEditingControl.EditingControlRowIndex // property. public int EditingControlRowIndex { get { return rowIndex; } set { rowIndex = value; } } // Implements the IDataGridViewEditingControl.EditingControlWantsInputKey // method. public bool EditingControlWantsInputKey( Keys key, bool dataGridViewWantsInputKey) { // Let the DateTimePicker handle the keys listed. switch (key & Keys.KeyCode) { case Keys.Left: case Keys.Up: case Keys.Down: case Keys.Right: case Keys.Home: case Keys.End: case Keys.PageDown: case Keys.PageUp: return true; default: return false; } } // Implements the IDataGridViewEditingControl.PrepareEditingControlForEdit // method. public void PrepareEditingControlForEdit(bool selectAll) { // No preparation needs to be done. } // Implements the IDataGridViewEditingControl // .RepositionEditingControlOnValueChange property. public bool RepositionEditingControlOnValueChange { get { return false; } } // Implements the IDataGridViewEditingControl // .EditingControlDataGridView property. public DataGridView EditingControlDataGridView { get { return dataGridView; } set { dataGridView = value; } } // Implements the IDataGridViewEditingControl // .EditingControlValueChanged property. public bool EditingControlValueChanged { get { return valueChanged; } set { valueChanged = value; } } // Implements the IDataGridViewEditingControl // .EditingPanelCursor property. public Cursor EditingPanelCursor { get { return base.Cursor; } } protected override void OnValueChanged(EventArgs eventargs) { // Notify the DataGridView that the contents of the cell // have changed. valueChanged = true; this.EditingControlDataGridView.NotifyCurrentCellDirty(true); base.OnValueChanged(eventargs); } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


IDataGridViewEditingControl メンバ
System.Windows.Forms 名前空間
DataGridView クラス
DataGridViewCell クラス
IDataGridViewEditingCell インターフェイス
DataGridViewComboBoxCell クラス
DataGridViewComboBoxEditingControl クラス
DataGridViewTextBoxCell クラス
DataGridViewCell.EditType プロパティ
DataGridViewTextBoxEditingControl クラス
その他の技術情報
方法 : Windows フォーム DataGridView Cells でコントロールをホストする
IDataGridViewEditingControl プロパティ

名前 | 説明 | |
---|---|---|
![]() | EditingControlDataGridView | セルを格納する DataGridView を取得または設定します。 |
![]() | EditingControlFormattedValue | エディタによって変更されるセルの書式設定された値を取得または設定します。 |
![]() | EditingControlRowIndex | ホストしているセルの親行のインデックスを取得または設定します。 |
![]() | EditingControlValueChanged | 編集コントロールの値と、そのコントロールをホストしているセルの値とが異なるかどうかを示す値を取得または設定します。 |
![]() | EditingPanelCursor | マウス ポインタが編集コントロールの上ではなく、DataGridView.EditingPanel の上にあるときに使用されるカーソルを取得します。 |
![]() | RepositionEditingControlOnValueChange | 値が変更されるたびに、セルの内容の位置を変更する必要があるかどうかを示す値を取得または設定します。 |

関連項目
IDataGridViewEditingControl インターフェイスSystem.Windows.Forms 名前空間
DataGridView クラス
DataGridViewCell クラス
IDataGridViewEditingCell インターフェイス
DataGridViewComboBoxCell クラス
DataGridViewComboBoxEditingControl クラス
DataGridViewTextBoxCell クラス
DataGridViewCell.EditType プロパティ
DataGridViewTextBoxEditingControl クラス
その他の技術情報
方法 : Windows フォーム DataGridView Cells でコントロールをホストするIDataGridViewEditingControl メソッド

名前 | 説明 | |
---|---|---|
![]() | ApplyCellStyleToEditingControl | 指定されたセル スタイルと矛盾しないように、コントロールのユーザー インターフェイス (UI) を変更します。 |
![]() | EditingControlWantsInputKey | 指定されたキーが、編集コントロールによって処理される通常の入力キーか、DataGridView によって処理される特殊なキーであるかを確認します。 |
![]() | GetEditingControlFormattedValue | セルの書式設定された値を取得します。 |
![]() | PrepareEditingControlForEdit | 現在選択されているセルの編集を準備します。 |

関連項目
IDataGridViewEditingControl インターフェイスSystem.Windows.Forms 名前空間
DataGridView クラス
DataGridViewCell クラス
IDataGridViewEditingCell インターフェイス
DataGridViewComboBoxCell クラス
DataGridViewComboBoxEditingControl クラス
DataGridViewTextBoxCell クラス
DataGridViewCell.EditType プロパティ
DataGridViewTextBoxEditingControl クラス
その他の技術情報
方法 : Windows フォーム DataGridView Cells でコントロールをホストするIDataGridViewEditingControl メンバ
DataGridView のセル内にホストされるコントロールの共通する機能を定義します。
IDataGridViewEditingControl データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | EditingControlDataGridView | セルを格納する DataGridView を取得または設定します。 |
![]() | EditingControlFormattedValue | エディタによって変更されるセルの書式設定された値を取得または設定します。 |
![]() | EditingControlRowIndex | ホストしているセルの親行のインデックスを取得または設定します。 |
![]() | EditingControlValueChanged | 編集コントロールの値と、そのコントロールをホストしているセルの値とが異なるかどうかを示す値を取得または設定します。 |
![]() | EditingPanelCursor | マウス ポインタが編集コントロールの上ではなく、DataGridView.EditingPanel の上にあるときに使用されるカーソルを取得します。 |
![]() | RepositionEditingControlOnValueChange | 値が変更されるたびに、セルの内容の位置を変更する必要があるかどうかを示す値を取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | ApplyCellStyleToEditingControl | 指定されたセル スタイルと矛盾しないように、コントロールのユーザー インターフェイス (UI) を変更します。 |
![]() | EditingControlWantsInputKey | 指定されたキーが、編集コントロールによって処理される通常の入力キーか、DataGridView によって処理される特殊なキーであるかを確認します。 |
![]() | GetEditingControlFormattedValue | セルの書式設定された値を取得します。 |
![]() | PrepareEditingControlForEdit | 現在選択されているセルの編集を準備します。 |

関連項目
IDataGridViewEditingControl インターフェイスSystem.Windows.Forms 名前空間
DataGridView クラス
DataGridViewCell クラス
IDataGridViewEditingCell インターフェイス
DataGridViewComboBoxCell クラス
DataGridViewComboBoxEditingControl クラス
DataGridViewTextBoxCell クラス
DataGridViewCell.EditType プロパティ
DataGridViewTextBoxEditingControl クラス
その他の技術情報
方法 : Windows フォーム DataGridView Cells でコントロールをホストするWeblioに収録されているすべての辞書からIDataGridViewEditingControlを検索する場合は、下記のリンクをクリックしてください。

- IDataGridViewEditingControlのページへのリンク