Entsprechung zu form1.cls in DotNet?

13/01/2009 - 14:59 von Wolfgang Badura | Report spam
Hallo liebe NG-Teilnehmer!
Beim Umschreiben von VB6 in DotNet 3.5 taucht für mich ein (wahrscheinlich
ganz einfach zu lösendes) Problem auf:
In VB6 schrieb ich (Venus_Elong ist eine Form)

Venus_Elong.Cls
Venus_Elong.Print " Venus (braun) und Erde (blau) kreisen um die Sonne
(rot)."
Venus_Elong.Print " Ermittelt wird die jeweilige Elongation. "

Doch wie geht das in DotNet?
Wo kann ich eine Beschreibung oder ein Beispiel zur Entsprechung obigen
Codes in VB DotNet finden?

Mit bestem Dank und Gruß aus Wien,
Wolfgang
 

Lesen sie die antworten

#1 Karsten Sosna
13/01/2009 - 18:06 | Warnen spam
Beim Umschreiben von VB6 in DotNet 3.5 taucht für mich ein (wahrscheinlich
ganz einfach zu lösendes) Problem auf:
In VB6 schrieb ich (Venus_Elong ist eine Form)

Venus_Elong.Cls
Venus_Elong.Print " Venus (braun) und Erde (blau) kreisen um die
Sonne (rot)."
Venus_Elong.Print " Ermittelt wird die jeweilige Elongation. "

Doch wie geht das in DotNet?
Wo kann ich eine Beschreibung oder ein Beispiel zur Entsprechung obigen
Codes in VB DotNet finden?



Hallo Wolfgang,
ich schàtze mal, das geht in diese Richtung:
\\\
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As
System.Windows.Forms.PaintEventArgs) Handles Me.Paint
e.Graphics.Clear(Me.BackColor)
Using FNT As New Font("Arial", 14)
Using SBR As New SolidBrush(Color.Black)
e.Graphics.DrawString("Venus (braun) und Erde (blau) kreisen um
die Sonne (rot).", FNT, SBR, 10, 10)
e.Graphics.DrawString("Ermittelt wird die jeweilige
Elongation.", FNT, SBR, 10, 30)
End Using
End Using
End Sub
///
Lasse Dich nicht verwirren, eine andere Entsprechung zu Cls und Print kenne
ich nicht.
FNT und SBR sind beides Objekte, die IDisposable implementieren.
Dementsprechend haben diese Objekte eine Dispose-Methode. Benötigt man das
Objekt nicht mehr, so sollte man es wieder zerstören um die verwendeten
Resourcen freizugeben. Das macht man entweder so wie oben oder in dem man
explizit die Dispose-Methode aufruft:
\\\
e.Graphics.Clear(Me.BackColor)
Dim FNT As New Font("Arial", 14)
Dim SBR As New SolidBrush(Color.Black)
e.Graphics.DrawString("Venus (braun) und Erde (blau) kreisen um die
Sonne (rot).", FNT, SBR, 10, 10)
e.Graphics.DrawString("Ermittelt wird die jeweilige Elongation.", FNT,
SBR, 10, 30)
End Using
SBR.Dispose()
FNT.Dispose()
///
Beide Varianten haben die gleiche Funktion. Nutzt Du Using-End Using kannst
Du das Dispose nie vergessen.
Graphics.Clear(Me.BackColor) löscht den Hintergrund mit der angebenen Farbe.
Die Bedeutung der Parameter zu Graphics.DrawString entnehme bitte der MSDN.

Alle Zeichenoperationen sollten im Paint-Event stattfinden, der Parameter e
liefert dann neben anderen nützlichen Informationen u.a. das Graphics-Objekt
mit dem bspw. Zeichenvorgànge vornehmen kann.
Das das Zeichnen in Dotnet kein permanter Vorgang ist, wird das Event immer
dann gefeuert wenn ein Teil des bspw. Formulars neugezeichnet werden soll.
Ich weiß nicht wie weit Du schon in dieser Thematik steckst, daher belasse
ich es erstmal und warte Deine Reaktion ab. Ich werde Dir auf jeden Fall
weiterhelfen können wenn Du noch Fragen hast.
Gruß Scotty

Ähnliche fragen