Freigeben über


Gewusst wie: Zeichnen der Kontur einer Form

In diesem Beispiel werden in einem Formular Ellipsen und Rechtecke mit Rand gezeichnet.

Beispiel

    Private Sub DrawEllipse()
        Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
        Dim formGraphics As System.Drawing.Graphics
        formGraphics = Me.CreateGraphics()
        formGraphics.DrawEllipse(myPen, New Rectangle(0, 0, 200, 300))
        myPen.Dispose()
        formGraphics.Dispose()
    End Sub

    Private Sub DrawRectangle()
        Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
        Dim formGraphics As System.Drawing.Graphics
        formGraphics = Me.CreateGraphics()
        formGraphics.DrawRectangle(myPen, New Rectangle(0, 0, 200, 300))
        myPen.Dispose()
        formGraphics.Dispose()
    End Sub

    private void DrawEllipse()
    {
        System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Red);
        System.Drawing.Graphics formGraphics;
        formGraphics = this.CreateGraphics();
        formGraphics.DrawEllipse(myPen, new Rectangle(0, 0, 200, 300));
        myPen.Dispose();
        formGraphics.Dispose();
    }

    private void DrawRectangle()
    {
        System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Red);
        System.Drawing.Graphics formGraphics;
        formGraphics = this.CreateGraphics();
        formGraphics.DrawRectangle(myPen, new Rectangle(0, 0, 200, 300));
        myPen.Dispose();
        formGraphics.Dispose();
    }

private:
    void DrawEllipse()
    {
        System::Drawing::Pen^ myPen =
            gcnew System::Drawing::Pen(System::Drawing::Color::Red);
        System::Drawing::Graphics^ formGraphics;
        formGraphics = this->CreateGraphics();
        formGraphics->DrawEllipse(myPen, Rectangle(0, 0, 200, 300));
        delete myPen;
        delete formGraphics;
    }

private:
    void DrawRectangle()
    {
        System::Drawing::Pen^ myPen =
            gcnew System::Drawing::Pen(System::Drawing::Color::Red);
        System::Drawing::Graphics^ formGraphics;
        formGraphics = this->CreateGraphics();
        formGraphics->DrawRectangle(myPen, Rectangle(0, 0, 200, 300));
        delete myPen;
        delete formGraphics;
    }

Kompilieren des Codes

Sie können diese Methode nicht im Load-Ereignishandler aufrufen. Der gezeichnete Inhalt wird nicht neu gezeichnet, wenn die Größe des Formulars geändert oder das Formular durch ein anderes Formular verdeckt wird. Wenn der Inhalt automatisch neu gezeichnet werden soll, müssen Sie die OnPaint-Methode überschreiben.

Robuste Programmierung

Sie sollten für Objekte, die Systemressourcen beanspruchen (z. B. das Pen-Objekt und das Graphics-Objekt), immer Dispose aufrufen.

Siehe auch

Referenz

DrawEllipse

OnPaint

DrawRectangle

Weitere Ressourcen

Erste Schritte mit der Grafikprogrammierung

Verwenden eines Stiftes zum Zeichnen von Linien und Formen

Grafik und Zeichnen in Windows Forms