DataGridViewCellPaintingEventArgs Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Daten für das CellPainting-Ereignis bereit.
public ref class DataGridViewCellPaintingEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewCellPaintingEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewCellPaintingEventArgs = class
inherit HandledEventArgs
Public Class DataGridViewCellPaintingEventArgs
Inherits HandledEventArgs
- Vererbung
Beispiele
Im folgenden Codebeispiel wird die Verwendung dieses Typs veranschaulicht. Weitere Informationen finden Sie unter Vorgehensweise: Anpassen der Darstellung von Zellen im DataGridView-Steuerelement in Windows Forms.
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;
}
}
}
}
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 (e.Value IsNot 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
Hinweise
Das CellPainting -Ereignis wird für jedes DataGridViewCell ausgelöst, das auf einem DataGridViewsichtbar ist. Um die Leistung zu verbessern, legen Sie die Eigenschaften in einem fest DataGridViewCellPaintingEventArgs , um das Erscheinungsbild der Zelle zu ändern, anstatt direkt auf eine Zelle in zuzugreifen DataGridView. Wenn Sie die Zelle manuell zeichnen, legen Sie die HandledEventArgs.Handled -Eigenschaft auf true
fest. Wenn Sie nicht auf true
festlegenHandledEventArgs.Handled, überstreicht die Zelle Ihre Anpassungen.
Konstruktoren
Eigenschaften
AdvancedBorderStyle |
Ruft die Rahmenart der aktuellen DataGridViewCell ab. |
CellBounds |
Ruft die Grenzen der aktuellen DataGridViewCell ab. |
CellStyle |
Ruft den Zellstil der aktuellen DataGridViewCell ab. |
ClipBounds |
Ruft den Bereich der DataGridView ab, der neu gezeichnet werden muss. |
ColumnIndex |
Ruft den Spaltenindex der aktuellen DataGridViewCell ab. |
ErrorText |
Ruft eine Zeichenfolge ab, die eine Fehlermeldung für die aktuelle DataGridViewCell darstellt. |
FormattedValue |
Ruft den formatierten Wert der aktuellen DataGridViewCell ab. |
Graphics |
Ruft die Graphics ab, mit der die aktuelle DataGridViewCell gezeichnet wird. |
Handled |
Ruft einen Wert ab, der angibt, ob der Ereignishandler das Ereignis vollständig behandelt hat oder ob das System mit der eigenen Verarbeitung fortfahren soll, oder legt diesen Wert fest. (Geerbt von HandledEventArgs) |
PaintParts |
Die zu zeichnenden Zellteile. |
RowIndex |
Ruft den Spaltenindex der aktuellen DataGridViewCell ab. |
State |
Ruft den Zustand der aktuellen DataGridViewCell ab. |
Value |
Ruft den Wert der aktuellen DataGridViewCell ab. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
Paint(Rectangle, DataGridViewPaintParts) |
Zeichnet die angegebenen Teile der Zelle für den Bereich in den angegebenen Grenzen. |
PaintBackground(Rectangle, Boolean) |
Zeichnet den Zellhintergrund für den Bereich in den angegebenen Grenzen. |
PaintContent(Rectangle) |
Zeichnet den Zellinhalt für den Bereich in den angegebenen Grenzen. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |