Rechteck zeichnen bleibt erfolglos
Hallo zusammen,
ich versuche gerade in einer Form ein Rechteck zu zeichnen, dieses erscheint jedoch nicht und ich sehe nicht wo ich einen Fehler in der Prozedur gemacht habe:
Das Programm wird ohne Fehler ausgeführt, er füllt die Variablen auch mit den richtigen Werten.
ich versuche gerade in einer Form ein Rechteck zu zeichnen, dieses erscheint jedoch nicht und ich sehe nicht wo ich einen Fehler in der Prozedur gemacht habe:
Private Sub FormSettings_Load(sender As Object, e As EventArgs) Handles MyBase.Load
txtBoxProsozAusgabe.Text = My.Settings.AusgabeProsoz
txtBoxEVArchiv.Text = My.Settings.EVArchiv
txtBoxEVAusgabeHH.Text = My.Settings.EVAusgabeHH
Check_Settings()
End Sub
' Textbox kennzeichnen, wenn leer
Private Sub Check_Settings()
Dim myGraphics As Graphics = Me.CreateGraphics
Dim myPen As Pen
myPen = New Pen(Drawing.Color.Red, 5)
Dim myRectangle As New Rectangle
myRectangle.Width = 520
myRectangle.Height = 22
If (My.Settings.AusgabeProsoz = "") Then
myRectangle.X = TextProsozAusgabe.Location.X
myRectangle.Y = TextProsozAusgabe.Location.Y
myGraphics.DrawRectangle(myPen, myRectangle)
Else
'Grafik löschen
End If
If (My.Settings.EVArchiv = "") Then
myRectangle.X = txtBoxEVArchiv.Location.X
myRectangle.Y = txtBoxEVArchiv.Location.Y
myGraphics.DrawRectangle(myPen, myRectangle)
Else
'Grafik löschen
End If
If (My.Settings.EVAusgabeHH = "") Then
myRectangle.X = TextEVAusgabeHH.Location.X
myRectangle.Y = TextEVAusgabeHH.Location.Y
myGraphics.DrawRectangle(myPen, myRectangle)
Else
'Grafik löschen
End If
End Sub
Das Programm wird ohne Fehler ausgeführt, er füllt die Variablen auch mit den richtigen Werten.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 476926
Url: https://administrator.de/forum/rechteck-zeichnen-bleibt-erfolglos-476926.html
Ausgedruckt am: 08.05.2025 um 01:05 Uhr
3 Kommentare
Neuester Kommentar

ich versuche gerade in einer Form ein Rechteck zu zeichnen, dieses erscheint jedoch nicht und ich sehe nicht wo ich einen Fehler in der Prozedur gemacht habe:
Die Zusatztexte sollte man auch immer lesen ...How to: Draw a Filled Rectangle on a Windows Form
You cannot call this method in the Load event handler. The drawn content will not be redrawn if the form is resized or obscured by another form. To make your content automatically repaint, you should override the OnPaint method.
Zu dem Zeitpunkt ist die Form noch garnicht gezeichnet also kann dein Rechteck auch nicht erscheinen weil es vom Paint Event bereits wieder überschrieben wird.Platziere deinen Code im Paint-Event oder Shown-Event etc. in dem die Form schon sichtbar ist. nur im Paint-Event ist sichergestellt das dein Rechteck auch bei einem ändern der Größe der Form oder bei einem Redraw das Rechteck noch sichtbar ist.
Die Grundlagen zu Windows Forms sollten hier doch mal gelesen werden.