Benutzer mit den meisten Antworten
Linie zeichnen

Frage
-
ich bin neu ins VB2010Express eingestiegen.
Wenn ich eine Linie mittel Graphic- Befehl zeichne, erscheint diese nur im oberen linken Bereich des Festers. Ich habe aber die Koordinaten für das gesammte Fenster (10,10,1200,800) angegeben. Was mache ich falsch?
Antworten
-
Also müsste g nicht erstmal deklariert werden?
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim stift As New Pen(Color.Red, 3) Dim g As Graphics g = Me.CreateGraphics g.DrawLine(stift, 10, 10, 1200, 1200) End Sub
So habe ich es in C# gelöst (übersetzt, getestet), wobei man glaube ich immer nur in der Paint-Methode zeichnen sollte, oder so ähnlich.
Koopakiller - http://koopakiller.ko.ohost.de/- Als Antwort vorgeschlagen Tom Lambert (Koopakiller) Donnerstag, 2. Februar 2012 15:49
- Als Antwort markiert Robert Breitenhofer Montag, 6. Februar 2012 17:26
-
Hallo Neueinsteiger,
Koopakiller hat das richtig geschrieben. Bevor Du mit den Graphics Methoden malen kannst, musst Du ein Graphics objekt erzeugen und dieses auf eine Maloberfläche legen. Ohne das geht garnichts.
Dim g As Graphics
g = Me.CreateGraphicsIn diesem Fall ist das die Client Fläche des eigenen Formulars auf die das objekt gelegt wird. Siehe auch CreateGraphics
Ich habe Dir noch ein schönes Einsteiger Sample herausgesucht. Vielleicht hilft Dir das weiter.
http://www.vbdotnetheaven.com/uploadfile/dbeniwal321/drawing-lines-in-gdi/default.aspx
In dem Sample wird die PaintEventArgs Class verwendet. Wenn Du nach unten scollst, findest Du in der msdn Doku auch einen Code. Hier wird das Graphics objekt gleich im Argument e mitgeliefert, so dass Du mit dem Malen gleich loslegen kannst.
Gruss Ellen
Ich benutze/ I'm using VB2008 & VB2010- Bearbeitet Ellen Ramcke Dienstag, 31. Januar 2012 16:32
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller) Donnerstag, 2. Februar 2012 15:49
- Als Antwort markiert Robert Breitenhofer Montag, 6. Februar 2012 17:26
-
Hallo Neueinsteiger,
unter Galileo Computing findest Du ein freies Visual Basic 2010 Buch. Kapitel 10 zeigt Dir, wie man unter VB2010 zeichnet.
Gruß, LittleBlueBird
- Als Antwort vorgeschlagen LittleBlueBird Donnerstag, 2. Februar 2012 15:46
- Als Antwort markiert Robert Breitenhofer Montag, 6. Februar 2012 17:25
Alle Antworten
-
Hallo Neueinsteiger,
benutzt Du die DrawLine Method ?
Zeige doch etwas code
Gruss Ellen
Ich benutze/ I'm using VB2008 & VB2010 -
erstmal vielen Dank für die Antwort. hier der code:
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim stift As New Pen(Color.Red, 3) g.DrawLine(stift, 10, 10, 1200, 1200) End Sub
Rei- Bearbeitet Robert Breitenhofer Montag, 6. Februar 2012 17:25 Formatierung
-
Also müsste g nicht erstmal deklariert werden?
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim stift As New Pen(Color.Red, 3) Dim g As Graphics g = Me.CreateGraphics g.DrawLine(stift, 10, 10, 1200, 1200) End Sub
So habe ich es in C# gelöst (übersetzt, getestet), wobei man glaube ich immer nur in der Paint-Methode zeichnen sollte, oder so ähnlich.
Koopakiller - http://koopakiller.ko.ohost.de/- Als Antwort vorgeschlagen Tom Lambert (Koopakiller) Donnerstag, 2. Februar 2012 15:49
- Als Antwort markiert Robert Breitenhofer Montag, 6. Februar 2012 17:26
-
Hallo Neueinsteiger,
Koopakiller hat das richtig geschrieben. Bevor Du mit den Graphics Methoden malen kannst, musst Du ein Graphics objekt erzeugen und dieses auf eine Maloberfläche legen. Ohne das geht garnichts.
Dim g As Graphics
g = Me.CreateGraphicsIn diesem Fall ist das die Client Fläche des eigenen Formulars auf die das objekt gelegt wird. Siehe auch CreateGraphics
Ich habe Dir noch ein schönes Einsteiger Sample herausgesucht. Vielleicht hilft Dir das weiter.
http://www.vbdotnetheaven.com/uploadfile/dbeniwal321/drawing-lines-in-gdi/default.aspx
In dem Sample wird die PaintEventArgs Class verwendet. Wenn Du nach unten scollst, findest Du in der msdn Doku auch einen Code. Hier wird das Graphics objekt gleich im Argument e mitgeliefert, so dass Du mit dem Malen gleich loslegen kannst.
Gruss Ellen
Ich benutze/ I'm using VB2008 & VB2010- Bearbeitet Ellen Ramcke Dienstag, 31. Januar 2012 16:32
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller) Donnerstag, 2. Februar 2012 15:49
- Als Antwort markiert Robert Breitenhofer Montag, 6. Februar 2012 17:26
-
Hallo Neueinsteiger,
unter Galileo Computing findest Du ein freies Visual Basic 2010 Buch. Kapitel 10 zeigt Dir, wie man unter VB2010 zeichnet.
Gruß, LittleBlueBird
- Als Antwort vorgeschlagen LittleBlueBird Donnerstag, 2. Februar 2012 15:46
- Als Antwort markiert Robert Breitenhofer Montag, 6. Februar 2012 17:25