次の方法で共有


Control.Paint イベント

コントロールが再描画されると発生します。

Public Event Paint As PaintEventHandler
[C#]
public event PaintEventHandler Paint;
[C++]
public: __event PaintEventHandler* Paint;

[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。

イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、PaintEventArgs 型の引数を受け取りました。次の PaintEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ 説明
ClipRectangle 描画先の四角形を取得します。
Graphics 描画に使用するグラフィックスを取得します。

解説

イベント処理の詳細については、「 イベントの利用 」を参照してください。

使用例

 
' 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++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

Control クラス | Control メンバ | System.Windows.Forms 名前空間 | OnPaint