PaintEventHandler デリゲート
Control の Paint イベントを処理するメソッドを表します。
<Serializable>
Public Delegate Sub PaintEventHandler( _ ByVal sender As Object, _ ByVal e As PaintEventArgs _)
[C#]
[Serializable]
public delegate void PaintEventHandler( object sender, PaintEventArgs e);
[C++]
[Serializable]
public __gc __delegate void PaintEventHandler( Object* sender, PaintEventArgs* e);
[JScript] JScript では、.NET Framework のデリゲートを利用することができます。ただし、独自に定義することはできません。
パラメータ [Visual Basic, C#, C++]
作成するイベント ハンドラは、PaintEventHandler クラスのデリゲート定義と同一のパラメータを持つ必要があります。
- sender
イベントのソース。 - e
イベント データを格納している PaintEventArgs 。
解説
PaintEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。デリゲートを使用したイベント処理の詳細については、「 イベントとデリゲート 」を参照してください。
使用例
' This example creates a PictureBox control on the form and draws to it.
' This example assumes that the Form_Load event handling method is connected
' to the Load event of the form.
Private pictureBox1 As New PictureBox()
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Dock the PictureBox to the form and set its background to white.
pictureBox1.Dock = DockStyle.Fill
pictureBox1.BackColor = Color.White
' Connect the Paint event of the PictureBox to the event handling method.
AddHandler pictureBox1.Paint, AddressOf Me.pictureBox1_Paint
' Add the PictureBox control to the Form.
Me.Controls.Add(pictureBox1)
End Sub 'Form1_Load
Private Sub pictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs)
' Create a local version of the graphics object for the PictureBox.
Dim g As Graphics = e.Graphics
' Draw a string on the PictureBox.
g.DrawString("This is a diagonal line drawn on the control", _
New Font("Arial", 10), Brushes.Red, New PointF(30.0F, 30.0F))
' Draw a line in the PictureBox.
g.DrawLine(System.Drawing.Pens.Red, pictureBox1.Left, _
pictureBox1.Top, pictureBox1.Right, pictureBox1.Bottom)
End Sub 'pictureBox1_Paint
[C#]
// This example creates a PictureBox control on the form and draws to it.
// This example assumes that the Form_Load event handling method is
// connected to the Load event of the form.
private PictureBox pictureBox1 = new PictureBox();
private void Form1_Load(object sender, System.EventArgs e)
{
// Dock the PictureBox to the form and set its background to white.
pictureBox1.Dock = DockStyle.Fill;
pictureBox1.BackColor = Color.White;
// Connect the Paint event of the PictureBox to the event handling method.
pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint);
// Add the PictureBox control to the Form.
this.Controls.Add(pictureBox1);
}
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
// Create a local version of the graphics object for the PictureBox.
Graphics g = e.Graphics;
// Draw a string on the PictureBox.
g.DrawString("This is a diagonal line drawn on the control",
new Font("Arial",10), System.Drawing.Brushes.Blue, new Point(30,30));
// Draw a line in the PictureBox.
g.DrawLine(System.Drawing.Pens.Red, pictureBox1.Left, pictureBox1.Top,
pictureBox1.Right, pictureBox1.Bottom);
}
[C++]
// This example creates a PictureBox control on the form and draws to it.
// This example assumes that the Form_Load event handling method is
// connected to the Load event of the form.
private:
PictureBox* pictureBox1;
void Form1_Load(Object* /*sender*/, System::EventArgs* /*e*/)
{
pictureBox1 = new PictureBox();
// Dock the PictureBox to the form and set its background to white.
pictureBox1->Dock = DockStyle::Fill;
pictureBox1->BackColor = Color::White;
// Connect the Paint event of the PictureBox to the event handling method.
pictureBox1->Paint += new System::Windows::Forms::PaintEventHandler(this, &Form1::pictureBox1_Paint);
// Add the PictureBox control to the Form.
this->Controls->Add(pictureBox1);
}
void pictureBox1_Paint(Object* /*sender*/, System::Windows::Forms::PaintEventArgs* e)
{
// Create a local version of the graphics object for the PictureBox.
Graphics* g = e->Graphics;
// Draw a string on the PictureBox.
g->DrawString(S"This is a diagonal line drawn on the control",
new System::Drawing::Font(S"Arial",10), System::Drawing::Brushes::Blue, Point(30,30));
// Draw a line in the PictureBox.
g->DrawLine(System::Drawing::Pens::Red, pictureBox1->Left, pictureBox1->Top,
pictureBox1->Right, pictureBox1->Bottom);
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Windows.Forms
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)
参照
System.Windows.Forms 名前空間 | OnPaint | Paint | PaintEventArgs