DataGridTextBoxColumn.Paint 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在控制區 DataGrid 畫柱。
多載
| 名稱 | Description |
|---|---|
| Paint(Graphics, Rectangle, CurrencyManager, Int32) |
將 a DataGridColumnStyle 塗上指定的 Graphics、 Rectangle、 CurrencyManager和行數。 |
| Paint(Graphics, Rectangle, CurrencyManager, Int32, Boolean) |
繪製 a DataGridColumnStyle ,並以指定的 Graphics、 Rectangle、 CurrencyManager、 行號和對齊方式。 |
| Paint(Graphics, Rectangle, CurrencyManager, Int32, Brush, Brush, Boolean) |
以 DataGridColumnStyle 指定的 Graphics、 Rectangle、 CurrencyManager、 Brush為前景色繪製 a。 |
Paint(Graphics, Rectangle, CurrencyManager, Int32)
將 a DataGridColumnStyle 塗上指定的 Graphics、 Rectangle、 CurrencyManager和行數。
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)
參數
- source
- CurrencyManager
的 CurrencyManager 中 包含DataGrid欄位。
- rowNum
- Int32
底層資料表中該列的編號。
另請參閱
- Edit(CurrencyManager, Int32, Rectangle, Boolean, String, Boolean)
- PaintText(Graphics, Rectangle, String, Boolean)
適用於
Paint(Graphics, Rectangle, CurrencyManager, Int32, Boolean)
繪製 a DataGridColumnStyle ,並以指定的 Graphics、 Rectangle、 CurrencyManager、 行號和對齊方式。
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)
參數
- source
- CurrencyManager
的 CurrencyManager 中 包含DataGrid欄位。
- rowNum
- Int32
底層資料表中該列的編號。
- alignToRight
- Boolean
一個表示欄位內容是否要對齊到右側的值。
true內容是否應向右排列;否則,。 false
備註
此 Paint 方法利用 來 GetColumnValueAtRow 決定在儲存格中繪製的值。 PaintText此方法被呼叫來繪製儲存格及其內容。
另請參閱
- Edit(CurrencyManager, Int32, Rectangle, Boolean, String, Boolean)
- PaintText(Graphics, Rectangle, String, Boolean)
適用於
Paint(Graphics, Rectangle, CurrencyManager, Int32, Brush, Brush, Boolean)
以 DataGridColumnStyle 指定的 Graphics、 Rectangle、 CurrencyManager、 Brush為前景色繪製 a。
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)
參數
- source
- CurrencyManager
的 CurrencyManager 中 包含DataGrid欄位。
- rowNum
- Int32
底層資料表中該列的編號。
- alignToRight
- Boolean
一個表示欄位內容是否要對齊到右側的值。
true內容是否應向右排列;否則,。 false
範例
以下範例使用 Paint 了將點擊格子繪製為新的前景和背景色的方法。
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
備註
此 Paint 方法利用 來 GetColumnValueAtRow 決定在儲存格中繪製的值。 PaintText此方法被呼叫來繪製儲存格及其內容。
另請參閱
- Edit(CurrencyManager, Int32, Rectangle, Boolean, String, Boolean)
- PaintText(Graphics, Rectangle, String, Boolean)