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