DataGridViewCellPaintingEventArgs Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Udostępnia dane dla zdarzenia CellPainting.
public ref class DataGridViewCellPaintingEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewCellPaintingEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewCellPaintingEventArgs = class
inherit HandledEventArgs
Public Class DataGridViewCellPaintingEventArgs
Inherits HandledEventArgs
- Dziedziczenie
Przykłady
Poniższy przykład kodu ilustruje użycie tego typu. Aby uzyskać więcej informacji, zobacz How to: Customize the Appearance of Cells in the Windows Forms DataGridView Control (Instrukcje: dostosowywanie wyglądu komórek w kontrolce DataGridView) 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
Uwagi
Zdarzenie CellPainting jest wywoływane dla każdego DataGridViewCell elementu widocznego na obiekcie DataGridView. Aby poprawić wydajność, ustaw właściwości w obiekcie DataGridViewCellPaintingEventArgs , aby zmienić wygląd komórki zamiast bezpośrednio uzyskiwać dostęp do komórki w obiekcie DataGridView. Jeśli ręcznie malujesz komórkę, ustaw HandledEventArgs.Handled właściwość na true
wartość . Jeśli nie ustawisz wartości HandledEventArgs.Handledtrue
, komórka będzie malować swoje dostosowania.
Konstruktory
Właściwości
AdvancedBorderStyle |
Pobiera styl obramowania bieżącego DataGridViewCellelementu . |
CellBounds |
Pobierz granice bieżącego DataGridViewCellelementu . |
CellStyle |
Pobiera styl komórki bieżącego DataGridViewCellelementu . |
ClipBounds |
Pobiera obszar DataGridView , który musi zostać przemalowany. |
ColumnIndex |
Pobiera indeks kolumn bieżącego DataGridViewCellelementu . |
ErrorText |
Pobiera ciąg reprezentujący komunikat o błędzie dla bieżącego DataGridViewCellelementu . |
FormattedValue |
Pobiera sformatowaną wartość bieżącego DataGridViewCellelementu . |
Graphics |
Graphics Pobiera element używany do malowania bieżącego DataGridViewCellelementu . |
Handled |
Pobiera lub ustawia wartość wskazującą, czy program obsługi zdarzeń całkowicie obsłużył zdarzenie, czy też system powinien kontynuować własne przetwarzanie. (Odziedziczone po HandledEventArgs) |
PaintParts |
Części komórek, które mają być malowane. |
RowIndex |
Pobiera indeks wierszy bieżącego DataGridViewCellelementu . |
State |
Pobiera stan bieżącej DataGridViewCellwartości . |
Value |
Pobiera wartość bieżącego DataGridViewCellelementu . |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
Paint(Rectangle, DataGridViewPaintParts) |
Maluje określone części komórki dla obszaru w określonych granicach. |
PaintBackground(Rectangle, Boolean) |
Maluje tło komórki dla obszaru w określonych granicach. |
PaintContent(Rectangle) |
Maluje zawartość komórki dla obszaru w określonych granicach. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |