DataGridViewCheckBoxCell クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


DataGridViewCheckBoxCell クラスは、チェック ボックス UI によって表される 2 進数または 3 進数の情報を表示するために使用される DataGridViewCell の特殊な型です。既定の 2 進モードでは、セルには true または false の値が入ります。3 進モードでは、セルには CheckState 値のいずれかが設定されます。ThreeState プロパティは、2 進モードまたは 3 進モードのいずれが有効かを決定します。
DataGridViewCheckBoxColumn は、この種類のセルを保持するための特殊な列型です。既存の DataGridViewCheckBoxCell の後の列に含まれるセルをモデルにするには、その列の CellTemplate プロパティにそのセルを設定します。既定では、CellTemplate は新しい DataGridViewCheckBoxCell に初期化されます。
列のセル関連プロパティは、テンプレート セルの類似した名前を持つプロパティのラッパーです。テンプレート セルのプロパティ値を変更すると、そのテンプレートをベースとするセルのうち、変更後に追加されたものにのみ変更が反映されます。一方、列のセル関連プロパティを変更すると、テンプレート セル、および列内の他のすべてのセルが更新され、必要に応じて列の表示が更新されます。
現在のセルが DataGridViewCheckBoxCell の場合、DataGridView.IsCurrentCellInEditMode プロパティは常に true です。
通常、チェック ボックス セルの値は、他のデータと同様に情報を格納したり、一括操作を実行したりする目的で使用されます。ユーザーがチェック ボックス セルをクリックしたときに直ちに応答する場合は、DataGridView.CellClick イベントを処理しますが、このイベントはセル値が更新される前に発生します。クリック時に新しい値が必要な場合は、現在の値を基に期待される値を計算するという方法が考えられます。また別の方法として、変更を直ちにコミットし、DataGridView.CellValueChanged イベントを処理してその変更に応答することも考えられます。セルがクリックされたときに変更をコミットするには、DataGridView.CurrentCellDirtyStateChanged イベントを処理する必要があります。現在のセルがチェック ボックス セルである場合、ハンドラで DataGridView.CommitEdit メソッドを呼び出し、Commit の値を渡します。
継承時の注意 DataGridViewCheckBoxCell からクラスを派生させて新しいプロパティを追加する場合は、Clone メソッドをオーバーライドして、クローン操作時に新しいプロパティをコピーする必要があります。また、基本クラスの Clone メソッドも呼び出して、基本クラスのプロパティが新しいセルにコピーされるようにする必要があります。
DataGridViewCheckBoxColumn を使用して、オフィスにいる従業員を追跡するコード例を次に示します。列は、DataGridViewCheckBoxCell オブジェクトで構成されます。
Private Sub AddOutOfOfficeColumn() Dim column As New DataGridViewCheckBoxColumn() With column .HeaderText = ColumnName.OutOfOffice.ToString() .Name = ColumnName.OutOfOffice.ToString() .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells .FlatStyle = FlatStyle.Standard .CellTemplate = New DataGridViewCheckBoxCell() .CellTemplate.Style.BackColor = Color.Beige End With DataGridView1.Columns.Insert(0, column) End Sub
private void AddOutOfOfficeColumn() { DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn(); { column.HeaderText = ColumnName.OutOfOffice.ToString(); column.Name = ColumnName.OutOfOffice.ToString(); column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; column.FlatStyle = FlatStyle.Standard; column.ThreeState = true; column.CellTemplate = new DataGridViewCheckBoxCell(); column.CellTemplate.Style.BackColor = Color.Beige; } DataGridView1.Columns.Insert(0, column); }
private: void AddOutOfOfficeColumn() { DataGridViewCheckBoxColumn^ column = gcnew DataGridViewCheckBoxColumn(); { column->HeaderText = ColumnName::OutOfOffice.ToString(); column->Name = ColumnName::OutOfOffice.ToString(); column->AutoSizeMode = DataGridViewAutoSizeColumnMode::DisplayedCells; column->FlatStyle = FlatStyle::Standard; column->ThreeState = true; column->CellTemplate = gcnew DataGridViewCheckBoxCell(); column->CellTemplate->Style->BackColor = Color::Beige; } DataGridView1->Columns->Insert(0, column); }

System.Windows.Forms.DataGridViewElement
System.Windows.Forms.DataGridViewCell
System.Windows.Forms.DataGridViewCheckBoxCell


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DataGridViewCheckBoxCell クラスのページへのリンク