Teilen über


DataGridTextBoxColumn.Paint Methode

Definition

Zeichnet die Spalte im DataGrid-Steuerelement.

Überlädt

Paint(Graphics, Rectangle, CurrencyManager, Int32)

Zeichnet einen DataGridColumnStyle mit dem angegebenen Graphics, dem angegebenen Rectangle, dem angegebenen CurrencyManager und der Zeilennummer.

Paint(Graphics, Rectangle, CurrencyManager, Int32, Boolean)

Zeichnet einen DataGridColumnStyle mit der angegebenen Graphics, dem angegebenen Rectangle, dem angegebenen CurrencyManager, der angegebenen Zeilennummer und der angegebenen Ausrichtung.

Paint(Graphics, Rectangle, CurrencyManager, Int32, Brush, Brush, Boolean)

Zeichnet einen DataGridColumnStyle mit der angegebenen Graphics, dem angegebenen Rectangle, dem angegebenen CurrencyManager, der angegebenen Zeilennummer, dem angegebenen Brush und der angegebenen Vordergrundfarbe.

Paint(Graphics, Rectangle, CurrencyManager, Int32)

Zeichnet einen DataGridColumnStyle mit dem angegebenen Graphics, dem angegebenen Rectangle, dem angegebenen CurrencyManager und der Zeilennummer.

protected public:
 override void Paint(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::Windows::Forms::CurrencyManager ^ source, int rowNum);
protected internal override void Paint (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum);
override this.Paint : System.Drawing.Graphics * System.Drawing.Rectangle * System.Windows.Forms.CurrencyManager * int -> unit
Protected Friend Overrides Sub Paint (g As Graphics, bounds As Rectangle, source As CurrencyManager, rowNum As Integer)

Parameter

g
Graphics

Das Graphics-Objekt, für das gezeichnet werden soll.

bounds
Rectangle

Das umschließende Rectangle, in das gezeichnet werden soll.

source
CurrencyManager

Der CurrencyManager des DataGrid mit der Spalte.

rowNum
Int32

Die Nummer der Zeile in der zugrunde liegenden Datentabelle.

Siehe auch

Gilt für

Paint(Graphics, Rectangle, CurrencyManager, Int32, Boolean)

Zeichnet einen DataGridColumnStyle mit der angegebenen Graphics, dem angegebenen Rectangle, dem angegebenen CurrencyManager, der angegebenen Zeilennummer und der angegebenen Ausrichtung.

protected public:
 override void Paint(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::Windows::Forms::CurrencyManager ^ source, int rowNum, bool alignToRight);
protected internal override void Paint (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum, bool alignToRight);
override this.Paint : System.Drawing.Graphics * System.Drawing.Rectangle * System.Windows.Forms.CurrencyManager * int * bool -> unit
Protected Friend Overrides Sub Paint (g As Graphics, bounds As Rectangle, source As CurrencyManager, rowNum As Integer, alignToRight As Boolean)

Parameter

g
Graphics

Das Graphics-Objekt, für das gezeichnet werden soll.

bounds
Rectangle

Das umschließende Rectangle, in das gezeichnet werden soll.

source
CurrencyManager

Der CurrencyManager des DataGrid mit der Spalte.

rowNum
Int32

Die Nummer der Zeile in der zugrunde liegenden Datentabelle.

alignToRight
Boolean

Ein Wert, der angibt, woran der Spalteninhalt rechts auszurichten ist. true, wenn der Inhalt am rechten Rand ausgerichtet werden soll, andernfalls false.

Hinweise

Die Paint Methode verwendet die GetColumnValueAtRow Methode, um den Wert zu bestimmen, der in der Zelle zeichnen soll. Die PaintText Methode wird aufgerufen, um die Zelle und deren Inhalt zu zeichnen.

Siehe auch

Gilt für

Paint(Graphics, Rectangle, CurrencyManager, Int32, Brush, Brush, Boolean)

Zeichnet einen DataGridColumnStyle mit der angegebenen Graphics, dem angegebenen Rectangle, dem angegebenen CurrencyManager, der angegebenen Zeilennummer, dem angegebenen Brush und der angegebenen Vordergrundfarbe.

protected public:
 override void Paint(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Brush ^ backBrush, System::Drawing::Brush ^ foreBrush, bool alignToRight);
protected internal override void Paint (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Brush backBrush, System.Drawing.Brush foreBrush, bool alignToRight);
override this.Paint : System.Drawing.Graphics * System.Drawing.Rectangle * System.Windows.Forms.CurrencyManager * int * System.Drawing.Brush * System.Drawing.Brush * bool -> unit
Protected Friend Overrides Sub Paint (g As Graphics, bounds As Rectangle, source As CurrencyManager, rowNum As Integer, backBrush As Brush, foreBrush As Brush, alignToRight As Boolean)

Parameter

g
Graphics

Das Graphics-Objekt, für das gezeichnet werden soll.

bounds
Rectangle

Das umschließende Rectangle, in das gezeichnet werden soll.

source
CurrencyManager

Der CurrencyManager des DataGrid mit der Spalte.

rowNum
Int32

Die Nummer der Zeile in der zugrunde liegenden Datentabelle.

backBrush
Brush

Ein Brush für das Zeichnen des Hintergrunds.

foreBrush
Brush

Ein Brush für das Zeichnen der Vordergrundfarbe.

alignToRight
Boolean

Ein Wert, der angibt, woran der Spalteninhalt rechts auszurichten ist. true, wenn der Inhalt am rechten Rand ausgerichtet werden soll, andernfalls false.

Beispiele

Im folgenden Beispiel wird die Paint Methode verwendet, um eine geklickte Zelle mit neuer Vordergrund- und Hintergrundfarbe zu zeichnen.

public ref class MyGridColumn: public DataGridTextBoxColumn
{
public:
   void PaintCol( Graphics^ g, Rectangle cellRect, CurrencyManager^ cm, int rowNum, Brush^ bBrush, Brush^ fBrush, bool isVisible )
   {
      this->Paint( g, cellRect, cm, rowNum, bBrush, fBrush, isVisible );
   }

};

public ref class Form1: public Form
{
protected:
   DataGrid^ dataGrid1;
   DataSet^ myDataSet;

private:
   void PaintCell( Object^ sender, MouseEventArgs^ e )
   {
      
      // Use the HitTest method to get a HitTestInfo object.
      DataGrid::HitTestInfo ^ hi;
      DataGrid^ grid = dynamic_cast<DataGrid^>(sender);
      hi = grid->HitTest( e->X, e->Y );
      
      // Test if the clicked area was a cell.
      if ( hi->Type == DataGrid::HitTestType::Cell )
      {
         
         // If it's a cell, get the GridTable and ListManager of the
         // clicked table.         
         DataGridTableStyle^ dgt = dataGrid1->TableStyles[ 0 ];
         CurrencyManager^ cm = dynamic_cast<CurrencyManager^>(this->BindingContext[ myDataSet->Tables[ dgt->MappingName ] ]);
         
         // Get the Rectangle of the clicked cell.
         Rectangle cellRect;
         cellRect = grid->GetCellBounds( hi->Row, hi->Column );
         
         // Get the clicked DataGridTextBoxColumn.
         MyGridColumn^ gridCol = dynamic_cast<MyGridColumn^>(dgt->GridColumnStyles[ hi->Column ]);
         
         // Get the Graphics object for the form.
         Graphics^ g = dataGrid1->CreateGraphics();
         
         // Create two new Brush objects, a fore brush, and back brush.
         Brush^ fBrush = gcnew System::Drawing::SolidBrush( Color::Blue );
         Brush^ bBrush = gcnew System::Drawing::SolidBrush( Color::Yellow );
         
         // Invoke the Paint method to paint the cell with the brushes.
         gridCol->PaintCol( g, cellRect, cm, hi->Row, bBrush, fBrush, false );
      }
   }

};
public class Form1: Form
{
 protected DataGrid dataGrid1;
 protected DataSet myDataSet;

private void PaintCell(object sender, MouseEventArgs e)
{
    // Use the HitTest method to get a HitTestInfo object.
    DataGrid.HitTestInfo hi;
    DataGrid grid = (DataGrid)sender;
    hi=grid.HitTest(e.X, e.Y);
    // Test if the clicked area was a cell.
    if(hi.Type == DataGrid.HitTestType.Cell)
    {
       // If it's a cell, get the GridTable and ListManager of the
       // clicked table.         
       DataGridTableStyle dgt = dataGrid1.TableStyles[0];
       CurrencyManager cm = (CurrencyManager)this.BindingContext[myDataSet.Tables[dgt.MappingName]];
       // Get the Rectangle of the clicked cell.
       Rectangle cellRect;
       cellRect=grid.GetCellBounds(hi.Row, hi.Column);
       // Get the clicked DataGridTextBoxColumn.
       MyGridColumn  gridCol =(MyGridColumn)dgt.GridColumnStyles[hi.Column];
       // Get the Graphics object for the form.
       Graphics g = dataGrid1.CreateGraphics();
       // Create two new Brush objects, a fore brush, and back brush.
       Brush fBrush = new System.Drawing.SolidBrush(Color.Blue);
       Brush bBrush= new System.Drawing.SolidBrush(Color.Yellow);
       // Invoke the Paint method to paint the cell with the brushes.
       gridCol.PaintCol(g, cellRect, cm, hi.Row, bBrush, fBrush, false);
     }
 }
}

public class MyGridColumn:DataGridTextBoxColumn{
   public void PaintCol(Graphics g, Rectangle cellRect, 
    CurrencyManager cm, int rowNum, Brush bBrush, 
    Brush fBrush, bool isVisible){
      this.Paint(g, cellRect, cm, rowNum, bBrush, fBrush, isVisible);
   }
}
Public Class Form1
   Inherits Form
   Protected dataGrid1 As DataGrid
   Protected myDataSet As DataSet
    
   Private Sub PaintCell(sender As Object, e As MouseEventArgs)
      ' Use the HitTest method to get a HitTestInfo object.
      Dim hi As DataGrid.HitTestInfo
      Dim grid As DataGrid = CType(sender, DataGrid)
      hi = grid.HitTest(e.X, e.Y)
      ' Test if the clicked area was a cell.
      If hi.Type = DataGrid.HitTestType.Cell Then
         ' If it's a cell, get the GridTable and ListManager of the
         ' clicked table.         
         Dim dgt As DataGridTableStyle = dataGrid1.TableStyles(0)
         Dim cm As CurrencyManager = CType(Me.BindingContext _
         (myDataSet.Tables(dgt.MappingName)), CurrencyManager)
         ' Get the Rectangle of the clicked cell.
         Dim cellRect As Rectangle
         cellRect = grid.GetCellBounds(hi.Row, hi.Column)
         ' Get the clicked DataGridTextBoxColumn.
         Dim gridCol As MyGridColumn = CType _
         (dgt.GridColumnStyles(hi.Column), MyGridColumn)
         ' Get the Graphics object for the form.
         Dim g As Graphics = dataGrid1.CreateGraphics()
         ' Create two new Brush objects: a fore brush and back brush.
         Dim fBrush As New SolidBrush(Color.Blue)
         Dim bBrush As New SolidBrush(Color.Yellow)
         ' Invoke the Paint method to paint the cell with the brushes.
         gridCol.PaintCol(g, cellRect, cm, hi.Row, bBrush, fBrush, False)
      End If
   End Sub
End Class

Public Class MyGridColumn
Inherits DataGridTextBoxColumn
   Public Sub PaintCol(g As Graphics , cellRect As Rectangle , _
      cm As CurrencyManager , rowNum As integer , bBrush as Brush , _
      fBrush As Brush , isVisible As Boolean )
      me.Paint(g, cellRect, cm, rowNum, bBrush, fBrush, isVisible)
   End Sub
End Class

Hinweise

Die Paint Methode verwendet die GetColumnValueAtRow Methode, um den Wert zu bestimmen, der in der Zelle zeichnen soll. Die PaintText Methode wird aufgerufen, um die Zelle und deren Inhalt zu zeichnen.

Siehe auch

Gilt für