![]() |
VB.Net-Forum - Beitragsübersicht - |
|
Thema | V15: PictureBox über ein Sub ansteuern |
Von |
DiBo |
E-Mail |
ElektroCom@t-online.de |
Datum |
02. April 2021 um 18:43:32 |
Frage |
Hallo Freunde, nach mehrjährigerer Pause musste ich feststellen, dass ich schon alles verlernt habe. Hier an dem Beispiel komme ich nicht drauf wie ich Pens.Color in einem Sub übertragen kann.
Private Sub KalibrierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KalibrierenToolStripMenuItem.Click
Call PicBoxZeichnen(10, 10, 165, 165, Color.Blue)
End Sub
Private Sub PicBoxZeichnen(XStart As Integer, YStart As Integer, XEnd As Integer, YEnd As Integer, Farbe As Color) Dim g As Graphics = PictureBox1.CreateGraphics()
g.DrawLine(Pens.Farbe, XStart, YStart, XEnd, YEnd) End Sub
Es kommt der Fehler: "Farbe" ist kein Member von "Pens"
Viele Grüße
|
|
Antwort: |
Von |
Nico |
E-Mail |
nico.schertler@studentpartners.de |
Datum |
02. April 2021 um 19:00:52 |
Antwort |
Hallo,
vorerst: Ein Graphics Objekt sollte nur in einigen Ausnahmen selbst erstellt werden. Wenn du in eine PictureBox zeichnen möchtest, tu das im OnPaint Event der PictureBox. Dort bekommst du ein Graphics Objekt in den EventArgs übergeben. Das stellt sicher, dass deine Zeichnungen wieder ausgeführt werden, wenn du bspw. das Fenster wiederherstellst. Zum Problem: Wie die Fehlermeldung schon sagt, hat die statische Pens Klasse keine "Farbe". Wenn du die übergebene Farbe nutzen möchtest, um einen Pen zu erzeugen, kannst du die Farbe im Konstruktor übergeben:Dim pen As New Pen(Farbe) g.DrawLine(pen, ...) Besser wäre es natürlich, direkt den Pen zu übergeben. Zum Beispiel einfach Pens.Blue.
Nico |
|
[ Antwort schreiben | Zurück zum VB.Net-Forum | Forum-Hilfe ] |
|
Letzte Aktualisierung: Sonntag, 13. Dezember 2015 |
|