10.5 Dauerhaft zeichnen
Die bisher vorgestellte Methode hat den Nachteil, dass die Zeichnung teilweise oder ganz gelöscht wird, sobald z. B. eine andere Anwendung über dem Formular eingeblendet wird.
Eine andere Methode arbeitet mit dem Paint-Ereignis des Formulars. Dieses Ereignis wird jedes Mal aufgerufen, wenn das Formular auf dem Bildschirm neu gezeichnet werden muss.
Im nachfolgenden Programm (Projekt ZeichnenDauerhaft) werden einige Elemente der vorgestellten Programme auf diese Weise gezeichnet (siehe auch Abbildung 10.4).
Abbildung 10.4 Drei dauerhafte Zeichnungselemente
Der zugehörige Code:
Imports System.IO
Public Class Form1
Private Sub Form1_Paint(sender As Object,
e As PaintEventArgs) Handles MyBase.Paint
Dim z As Graphics
Dim stift As New Pen(Color.Red, 2)
Dim f As New Font("Arial", 16)
Dim pinsel As New SolidBrush(Color.Red)
Dim bild As Image
Dim filename As String
' Holt Grafik-Objekt zum Zeichnen
z = e.Graphics
' Rechteck, Text
z.DrawRectangle(stift, 20, 20, 30, 60)
z.DrawString("Hallo", f, pinsel, 70, 20)
' Bild
filename = "namibia.gif"
If File.Exists(filename) Then
bild = Image.FromFile(filename)
z.DrawImage(bild, 70, 70)
Else
MessageBox.Show("Datei nicht vorhanden")
End If
End Sub
End Class
Listing 10.9 Projekt »ZeichnenDauerhaft«
Zur Erläuterung:
- Das Objekt e der Klasse PaintEventArgs liefert Daten für das Paint-Ereignis.
- Eine der Eigenschaftsmethoden des Objekts e ist Graphics. Sie liefert das Grafik-Objekt zum Zeichnen.
- Mithilfe dieses Objekts werden nacheinander ein Rechteck, ein Text und ein Bild aus einer Datei auf dem Formular gezeichnet.
- Zur Vereinfachung liegt die Bilddatei namibia.gif im Projekt-Unterverzeichnis bin\Debug.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.