DataGridViewCellPaintingEventArgs クラスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > DataGridViewCellPaintingEventArgs クラスの意味・解説 

DataGridViewCellPaintingEventArgs クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

CellPainting イベントデータ提供します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Class DataGridViewCellPaintingEventArgs
    Inherits HandledEventArgs
Dim instance As DataGridViewCellPaintingEventArgs
public class DataGridViewCellPaintingEventArgs
 : HandledEventArgs
public ref class DataGridViewCellPaintingEventArgs
 : public HandledEventArgs
public class DataGridViewCellPaintingEventArgs
 extends HandledEventArgs
public class DataGridViewCellPaintingEventArgs
 extends HandledEventArgs
解説解説

CellPainting イベントは、DataGridView 上に表示される各 DataGridViewCell に対して発生しますパフォーマンス向上するには、DataGridViewセル直接アクセスする代わりにDataGridViewCellPaintingEventArgsプロパティ設定してセル外観変更します手動セル描画するには、HandledEventArgs.Handled プロパティtrue設定しますHandledEventArgs.Handledtrue設定しないと、セルカスタマイズした内容上書き描画されます。

使用例使用例

この型の使用方法次のコード例示します詳細については、「方法 : Windows フォームの DataGridView コントロールセル外観カスタマイズする」を参照してください

Private Sub dataGridView1_CellPainting(ByVal
 sender As Object, _
    ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs)
 _
    Handles dataGridView1.CellPainting

    If Me.dataGridView1.Columns("ContactName").Index
 = _
        e.ColumnIndex AndAlso e.RowIndex >= 0 Then

        Dim newRect As New
 Rectangle(e.CellBounds.X + 1, e.CellBounds.Y + 1, _
            e.CellBounds.Width - 4, e.CellBounds.Height - 4)
        Dim backColorBrush As New
 SolidBrush(e.CellStyle.BackColor)
        Dim gridBrush As New
 SolidBrush(Me.dataGridView1.GridColor)
        Dim gridLinePen As New
 Pen(gridBrush)

        Try

            ' Erase the cell.
            e.Graphics.FillRectangle(backColorBrush, e.CellBounds)

            ' Draw the grid lines (only the right and bottom lines;
            ' DataGridView takes care of the others).
            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, _
                e.CellBounds.Bottom - 1, e.CellBounds.Right - 1, _
                e.CellBounds.Bottom - 1)
            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1, _
                e.CellBounds.Top, e.CellBounds.Right - 1, _
                e.CellBounds.Bottom)

            ' Draw the inset highlight box.
            e.Graphics.DrawRectangle(Pens.Blue, newRect)

            ' Draw the text content of the cell, ignoring alignment.
            If Not (e.Value Is
 Nothing) Then
                e.Graphics.DrawString(CStr(e.Value), e.CellStyle.Font, _
                Brushes.Crimson, e.CellBounds.X + 2, e.CellBounds.Y + 2, _
                StringFormat.GenericDefault)
            End If
            e.Handled = True

        Finally
            gridLinePen.Dispose()
            gridBrush.Dispose()
            backColorBrush.Dispose()
        End Try

    End If

End Sub
private void dataGridView1_CellPainting(object
 sender,
System.Windows.Forms.DataGridViewCellPaintingEventArgs e)
{
    if (this.dataGridView1.Columns["ContactName"].Index
 ==
        e.ColumnIndex && e.RowIndex >= 0)
    {
        Rectangle newRect = new Rectangle(e.CellBounds.X + 1,
            e.CellBounds.Y + 1, e.CellBounds.Width - 4,
            e.CellBounds.Height - 4);

        using (
            Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor)
,
            backColorBrush = new SolidBrush(e.CellStyle.BackColor))
        {
            using (Pen gridLinePen = new Pen(gridBrush))
            {
                // Erase the cell.
                e.Graphics.FillRectangle(backColorBrush, e.CellBounds);

                // Draw the grid lines (only the right and bottom lines;
                // DataGridView takes care of the others).
                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left,
                    e.CellBounds.Bottom - 1, e.CellBounds.Right - 1,
                    e.CellBounds.Bottom - 1);
                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1,
                    e.CellBounds.Top, e.CellBounds.Right - 1,
                    e.CellBounds.Bottom);

                // Draw the inset highlight box.
                e.Graphics.DrawRectangle(Pens.Blue, newRect);

                // Draw the text content of the cell, ignoring alignment.
                if (e.Value != null)
                {
                    e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,
                        Brushes.Crimson, e.CellBounds.X + 2,
                        e.CellBounds.Y + 2, StringFormat.GenericDefault);
                }
                e.Handled = true;
            }
        }
    }
}
継承階層継承階層
System.Object
   System.EventArgs
     System.ComponentModel.HandledEventArgs
      System.Windows.Forms.DataGridViewCellPaintingEventArgs
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataGridViewCellPaintingEventArgs メンバ
System.Windows.Forms 名前空間
DataGridView.CellPainting イベント
DataGridViewCell クラス
DataGridView クラス


このページでは「.NET Framework クラス ライブラリ リファレンス」からDataGridViewCellPaintingEventArgs クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDataGridViewCellPaintingEventArgs クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDataGridViewCellPaintingEventArgs クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DataGridViewCellPaintingEventArgs クラス」の関連用語

DataGridViewCellPaintingEventArgs クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataGridViewCellPaintingEventArgs クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS