DataGridTextBoxColumn.Paint 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
DataGrid 컨트롤에 열을 그립니다.
오버로드
Paint(Graphics, Rectangle, CurrencyManager, Int32) |
지정한 DataGridColumnStyle, Graphics, Rectangle 및 행 번호를 사용하여 CurrencyManager을 그립니다. |
Paint(Graphics, Rectangle, CurrencyManager, Int32, Boolean) |
지정한 DataGridColumnStyle, Graphics, Rectangle, 행 번호 및 맞춤을 사용하여 CurrencyManager을 그립니다. |
Paint(Graphics, Rectangle, CurrencyManager, Int32, Brush, Brush, Boolean) |
지정한 DataGridColumnStyle, Graphics, Rectangle, 행 번호, CurrencyManager 및 배경색을 사용하여 Brush을 그립니다. |
Paint(Graphics, Rectangle, CurrencyManager, Int32)
지정한 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)
지정한 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을 그립니다.
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)