PaintEventArgs Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce i dati per l'evento Paint.
public ref class PaintEventArgs : EventArgs, IDisposable
public ref class PaintEventArgs : EventArgs, IDisposable, System::Drawing::IDeviceContext
public class PaintEventArgs : EventArgs, IDisposable
public class PaintEventArgs : EventArgs, IDisposable, System.Drawing.IDeviceContext
type PaintEventArgs = class
inherit EventArgs
interface IDisposable
type PaintEventArgs = class
inherit EventArgs
interface IDisposable
interface IDeviceContext
Public Class PaintEventArgs
Inherits EventArgs
Implements IDisposable
Public Class PaintEventArgs
Inherits EventArgs
Implements IDeviceContext, IDisposable
- Ereditarietà
- Derivato
- Implementazioni
Esempio
Nell'esempio seguente viene illustrata la gestione dell'evento e l'uso Paint della PaintEventArgs classe per disegnare rettangoli nel form. Gli MouseDown eventi e MouseUp vengono gestiti per determinare le dimensioni del rettangolo. Nell'esempio viene inoltre illustrato il Invalidate metodo per invalidare l'area del rettangolo, causandone il ridisegno.
private:
Rectangle RcDraw;
void Form1_MouseDown( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^ e )
{
// Determine the initial rectangle coordinates...
RcDraw.X = e->X;
RcDraw.Y = e->Y;
}
void Form1_MouseUp( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^ e )
{
// Determine the width and height of the rectangle...
if ( e->X < RcDraw.X )
{
RcDraw.Width = RcDraw.X - e->X;
RcDraw.X = e->X;
}
else
{
RcDraw.Width = e->X - RcDraw.X;
}
if ( e->Y < RcDraw.Y )
{
RcDraw.Height = RcDraw.Y - e->Y;
RcDraw.Y = e->Y;
}
else
{
RcDraw.Height = e->Y - RcDraw.Y;
}
// Force a repaint of the region occupied by the rectangle...
this->Invalidate( RcDraw );
}
void Form1_Paint( Object^ /*sender*/, System::Windows::Forms::PaintEventArgs^ e )
{
// Draw the rectangle...
float PenWidth = 5;
e->Graphics->DrawRectangle( gcnew Pen( Color::Blue,PenWidth ), RcDraw );
}
private Rectangle RcDraw;
private float PenWidth = 5;
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Determine the initial rectangle coordinates...
RcDraw.X = e.X;
RcDraw.Y = e.Y;
}
private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Determine the width and height of the rectangle...
if(e.X < RcDraw.X)
{
RcDraw.Width = RcDraw.X - e.X;
RcDraw.X = e.X;
}
else
{
RcDraw.Width = e.X - RcDraw.X;
}
if(e.Y < RcDraw.Y)
{
RcDraw.Height = RcDraw.Y - e.Y;
RcDraw.Y = e.Y;
}
else
{
RcDraw.Height = e.Y - RcDraw.Y;
}
// Force a repaint of the region occupied by the rectangle...
this.Invalidate(RcDraw);
}
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
// Draw the rectangle...
e.Graphics.DrawRectangle(new Pen(Color.Blue, PenWidth), RcDraw);
}
Dim RcDraw As Rectangle
Dim PenWidth As Integer = 5
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
' Determine the initial rectangle coordinates...
RcDraw.X = e.X
RcDraw.Y = e.Y
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
' Determine the width and height of the rectangle...
If e.X < RcDraw.X Then
RcDraw.Width = RcDraw.X - e.X
RcDraw.X = e.X
Else
RcDraw.Width = e.X - RcDraw.X
End If
If e.Y < RcDraw.Y Then
RcDraw.Height = RcDraw.Y - e.Y
RcDraw.Y = e.Y
Else
RcDraw.Height = e.Y - RcDraw.Y
End If
' Force a repaint of the region occupied by the rectangle...
Me.Invalidate(RcDraw)
End Sub
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
' Draw the rectangle...
e.Graphics.DrawRectangle(New Pen(Color.Blue, PenWidth), RcDraw)
End Sub
// This example creates a PictureBox control on the form and draws to it.
// This example assumes that the Form_Load event handler method is
// connected to the Load event of the form.
private:
PictureBox^ pictureBox1;
void Form1_Load( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
pictureBox1 = gcnew 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 handler method.
pictureBox1->Paint += gcnew 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( "This is a diagonal line drawn on the control",
gcnew System::Drawing::Font( "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 );
}
// This example creates a PictureBox control on the form and draws to it.
// This example assumes that the Form_Load event handler method is
// connected to the Load event of the form.
private PictureBox pictureBox1 = new PictureBox();
// Cache font instead of recreating font objects each time we paint.
private Font fnt = new Font("Arial",10);
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 handler 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",
fnt, 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);
}
' This example creates a PictureBox control on the form and draws to it.
' This example assumes that the Form_Load event handler method is connected
' to the Load event of the form.
Private pictureBox1 As New PictureBox()
Private fnt as New Font("Arial", 10)
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 handler method.
AddHandler pictureBox1.Paint, AddressOf Me.pictureBox1_Paint
' Add the PictureBox control to the Form.
Me.Controls.Add(pictureBox1)
End Sub
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", _
fnt, 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
Commenti
L'evento Paint si verifica quando viene ridisegnato un controllo. Specifica PaintEventArgs l'oggetto Graphics da utilizzare per disegnare il controllo e l'oggetto ClipRectangle in cui disegnare.
Per informazioni sul modello di evento, vedere Gestione e generazione di eventi.
Costruttori
PaintEventArgs(Graphics, Rectangle) |
Inizializza una nuova istanza della classe PaintEventArgs con le immagini e il rettangolo di ridimensionamento specificati. |
Proprietà
ClipRectangle |
Ottiene il rettangolo in cui disegnare. |
Graphics |
Ottiene il grafico usato per disegnare. |
Metodi
Dispose() |
Rilascia tutte le risorse usate da PaintEventArgs. |
Dispose(Boolean) |
Rilascia le risorse non gestite usate da PaintEventArgs e, facoltativamente, le risorse gestite. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Finalize() |
Consente a un oggetto di effettuare un tentativo di liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato da Garbage Collection. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IDeviceContext.GetHdc() |
Restituisce l'handle per un contesto di periferica Windows. |
IDeviceContext.ReleaseHdc() |
Rilascia l'handle per un contesto di periferica Windows. |