DataGridViewCellPaintingEventArgs Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje data pro událost CellPainting.
public ref class DataGridViewCellPaintingEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewCellPaintingEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewCellPaintingEventArgs = class
inherit HandledEventArgs
Public Class DataGridViewCellPaintingEventArgs
Inherits HandledEventArgs
- Dědičnost
Příklady
Následující příklad kódu znázorňuje použití tohoto typu. Další informace naleznete v tématu Postupy: Přizpůsobení vzhledu buněk v ovládacím prvku Windows Forms DataGridView.
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
Poznámky
Událost CellPainting je vyvolána pro každýDataGridViewCell, který je viditelný na .DataGridView Pokud chcete zvýšit výkon, nastavte vlastnosti v buňce DataGridViewCellPaintingEventArgs tak, aby se místo přímého přístupu k buňce v buňce DataGridViewv buňce změnily vzhled buňky . Pokud buňku ručně namalujete, nastavte HandledEventArgs.Handled vlastnost na truehodnotu . Pokud tuto možnost nenastavíte HandledEventArgs.Handledtrue, buňka se nakreslí přes vaše vlastní nastavení.
Konstruktory
Vlastnosti
| Name | Description |
|---|---|
| AdvancedBorderStyle |
Získá styl ohraničení aktuálního DataGridViewCell. |
| CellBounds |
Získá hranice aktuálního DataGridViewCell. |
| CellStyle |
Získá styl buňky aktuálního DataGridViewCell. |
| ClipBounds |
Získá oblast DataGridView , kterou je potřeba překreslit. |
| ColumnIndex |
Získá index sloupce aktuálního DataGridViewCell. |
| ErrorText |
Získá řetězec, který představuje chybovou zprávu pro aktuální DataGridViewCell. |
| FormattedValue |
Získá formátovanou hodnotu aktuálního DataGridViewCell. |
| Graphics |
Graphics Získá použité k malování aktuálního DataGridViewCell. |
| Handled |
Získá nebo nastaví hodnotu, která označuje, zda obslužná rutina události zcela zpracovala událost nebo zda má systém pokračovat ve vlastním zpracování. (Zděděno od HandledEventArgs) |
| PaintParts |
Části buněk, které mají být malovány. |
| RowIndex |
Získá index řádku aktuálního DataGridViewCell. |
| State |
Získá stav aktuálního DataGridViewCell. |
| Value |
Získá hodnotu aktuálního DataGridViewCell. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Paint(Rectangle, DataGridViewPaintParts) |
Vykreslí zadané části buňky pro oblast v zadaných mezích. |
| PaintBackground(Rectangle, Boolean) |
Nakreslí pozadí buňky pro oblast v zadaných mezích. |
| PaintContent(Rectangle) |
Nakreslí obsah buňky pro oblast v zadaných mezích. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |