none
Linie zeichnen RRS feed

  • 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?

    Montag, 30. Januar 2012 13:40

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/
    Dienstag, 31. Januar 2012 14:44
  • 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.CreateGraphics

    In 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
    Dienstag, 31. Januar 2012 16:23
  • Hallo Neueinsteiger,

    unter Galileo Computing findest Du ein freies Visual Basic 2010 Buch. Kapitel 10 zeigt Dir, wie man unter VB2010 zeichnet.

    Gruß, LittleBlueBird

    Dienstag, 31. Januar 2012 16:47

Alle Antworten

  • Hallo Neueinsteiger,

    benutzt Du die DrawLine Method  ?

    Zeige doch etwas code

    Gruss Ellen


    Ich benutze/ I'm using VB2008 & VB2010
    Montag, 30. Januar 2012 20:17
  • 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
    Montag, 30. Januar 2012 21:24
  • 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/
    Dienstag, 31. Januar 2012 14:44
  • 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.CreateGraphics

    In 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
    Dienstag, 31. Januar 2012 16:23
  • Hallo Neueinsteiger,

    unter Galileo Computing findest Du ein freies Visual Basic 2010 Buch. Kapitel 10 zeigt Dir, wie man unter VB2010 zeichnet.

    Gruß, LittleBlueBird

    Dienstag, 31. Januar 2012 16:47
  • Vielen Dank, ein sehr guter Hinweis

     

    Gruß Egon


    Rei
    Dienstag, 31. Januar 2012 18:04
  • Vielen Dank, es hat mir sehr geholfen !

    Gruß Egon


    Rei
    Dienstag, 31. Januar 2012 18:05