'宣言 Public Event OwnerDrawCell As OwnerDrawCellEventHandler
public event OwnerDrawCellEventHandler OwnerDrawCell
イベント ハンドラが、このイベントに関連するデータを含む、OwnerDrawCellEventArgs 型の引数を受け取りました。次の OwnerDrawCellEventArgs プロパティには、このイベントの固有の情報が記載されます。
| プロパティ | 解説 |
|---|---|
| Bounds | 描画するセルを示す四角形をクライアント座標で取得します。 |
| Col | 描画されるセルの列インデックスを取得します。 |
| Graphics | セルの描画に使用される Graphicsオブジェクトを取得します。このオブジェクトを使用して、セルに独自の要素を描画します。 |
| Handled | イベントがセルの描画を終了したかどうかを取得または設定します。 |
| Image | セルに表示される画像を取得または設定します。 |
| Measuring | セルを測定するためにのみイベントが発生したかどうかを判別する値を取得します。 |
| Row | 描画されるセルの行インデックスを取得します。 |
| Style | セルを描画するために使用される CellStyleオブジェクトを取得または設定します。 |
| StyleDisplay | |
| Text | セルに表示されるテキストを取得または設定します。 |
OwnerDrawCellイベントが発生するのは、 DrawModeプロパティに DrawModeEnum.OwnerDrawを設定した場合だけです。
OwnerDrawCellイベントを使用して、グリッド内の任意のセルの外観をカスタマイズできます。このイベントでは主に、次の3つの方法でカスタマイズできます。
1)TextおよびImage引数を変更して、グリッドで表示される値を変更。たとえば、パスワードの文字列をアスタリスクに置き換える場合、このタイプのカスタマイズを使用します。
2)Styleプロパティを変更し、グリッドのデフォルトの書式以外の書式を使用してセルを表示。たとえば、条件付きの書式設定を提供する場合、このタイプのカスタマイズを使用します。
3)GraphicsおよびBounds引数を使用して、ユーザー自身がセルを描画。このようにセルを描画する場合、DrawCellメンバを呼び出して強制的にグリッドにセルの特定部分を描画させる一方で、ユーザー自身のコードを使って他の部分を描画することができます。たとえば、セルにグラデーションの背景を描画するには、 オーナー描画セルのトピックのサンプルコードを参照してください。
グリッドが行または列のサイズを自動調整するとき、 OwnerDrawCellイベントも発生します(AutoSizeRowsとAutoSizeColsの各メソッドを参照してください)。これは、描画時に使用したのと同じテキスト、イメージ、スタイルの各引数を使用してセルを測定する必要があるからです。この場合、Measuring引数はtrueに設定され、Bounds長方形は空白になります。