(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

PaintEventArgs.Graphics-Eigenschaft

Ruft die zum Zeichnen verwendete Grafik ab.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public Graphics Graphics { get; }

Eigenschaftswert

Typ: System.Drawing.Graphics
Das zum Zeichnen verwendete Graphics-Objekt. Das Graphics-Objekt stellt Methoden für das Zeichnen von Objekten auf dem Anzeigegerät bereit.

Im folgenden Beispiel wird veranschaulicht, wie das Paint-Ereignis behandelt und die PaintEventArgs-Klasse verwendet wird, um im Formular Rechtecke zu zeichnen. Das MouseDown-Ereignis und das MouseUp-Ereignis werden behandelt, um die Größe des Rechtecks zu bestimmen. Das Beispiel veranschaulicht auch, wie mithilfe der Invalidate-Methode der Bereich des Rechtecks für ungültig erklärt und dadurch das Neuzeichnen erzwungen wird.


    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






		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);
			
		}




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 );
   }



' 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 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 '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



// 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();
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",
        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);
}



   // 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 );
   }


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft