Procedura: creare una forma con contorno

Nell'esempio riportato di seguito vengono creati ellissi e rettangoli con contorno in un form.

Esempio

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

Compilazione del codice

Non è possibile chiamare questo metodo nel gestore eventi Load. Se il form viene ridimensionato o nascosto da un altro form, il contenuto creato non verrà ricreato. Per ridisegnare automaticamente il contenuto è necessario eseguire l'override del metodo OnPaint.

Programmazione efficiente

È sempre necessario chiamare il metodo Dispose sugli oggetti che richiedono un notevole utilizzo delle risorse di sistema, quali gli oggetti Pen e Graphics.

Vedere anche

Riferimenti

DrawEllipse

OnPaint

DrawRectangle

Altre risorse

Guida introduttiva alla programmazione grafica

Utilizzo di un oggetto Pen per creare linee e forme

Grafica e disegno in Windows Form