GrapeCity.Win.MultiRow.v80 アセンブリ > GrapeCity.Win.MultiRow 名前空間 > GcMultiRow クラス : SectionPainting イベント |
Public Event SectionPainting As EventHandler(Of SectionPaintingEventArgs)
public event EventHandler<SectionPaintingEventArgs> SectionPainting
イベント ハンドラが、このイベントに関連するデータを含む、SectionPaintingEventArgs 型の引数を受け取りました。次の SectionPaintingEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 解説 |
---|---|
ClipBounds | 現在の描画Sectionのクリッピング境界を取得します。 |
Graphics | セルの描画に使用されたグラフィックを取得します。 |
Handled | System.ComponentModel.HandledEventArgsから継承されます。 |
IsPrinting | このセルが印刷中かどうかを示す値を取得します。 |
RowIndex | イベントが発生したオーナーRowのインデックスを取得します。 |
Scope | イベントが発生したセルの領域を取得します。 |
SectionBounds | このセクションの境界を取得します。 |
SectionIndex | イベントが発生したオーナーSectionのインデックスを取得します。 |
ZoomFactor | 現在のGcMultiRowコントロールのズーム倍率を取得します。 |
ユーザーはこのイベントを処理して、コントロール内のセクションの外観をカスタマイズできます。セクション全体を独自に描画できるほか、セクションの特定の部分を描画し、残りの部分の描画にSectionPaintingEventArgs.PaintSectionBackground、SectionPaintingEventArgs.PaintCells、SectionPaintingEventArgs.PaintSectionBorderの各メソッドを使用することもできます。
このイベントを処理するときは、セクションに直接アクセスするのではなく、イベントハンドラのパラメーターを通じてセクションにアクセスしてください。
描画結果はPrintStyle.Richスタイルの印刷で出力できますが、PrintStyle.Compactスタイルの印刷では出力できません。
void gcMultiRow_SectionPainting(object sender, SectionPaintingEventArgs e) { if (e.RowIndex == this.gcMultiRow.NewRowIndex && e.Scope == CellScope.Row) { e.Paint(e.ClipBounds); StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; // Paint string in section face. e.Graphics.DrawString("Edit cell in this row to add new rows", gcMultiRow.Font, Brushes.Gray, e.SectionBounds, sf); // If you customize the paint logic, make sure, the Handled property should be set to true. e.Handled = true; } }
Private Sub gcMultiRow_SectionPainting(ByVal sender As Object, ByVal e As SectionPaintingEventArgs) Handles gcMultiRow.SectionPainting If e.RowIndex = Me.gcMultiRow.NewRowIndex AndAlso e.Scope = CellScope.Row Then e.Paint(e.ClipBounds) Dim sf As New StringFormat() sf.Alignment = StringAlignment.Center ' Paint string in section face. e.Graphics.DrawString("Edit cell in this row to add new rows", gcMultiRow.Font, Brushes.Gray, e.SectionBounds, sf) ' If you customize the paint logic, make sure, the Handled property should be set to true. e.Handled = True End If End Sub