次の方法で共有


PaintEventHandler デリゲート

ControlPaint イベントを処理するメソッドを表します。

<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