vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Linien zeichnen und verschieben 
Autor: Florian
Datum: 31.01.09 13:04

Hi!

Ich hab wieder einmal Probleme mit dem Zeichnen von Grafiken auf eine Form:

Auf der Form werden bestimmte Punkte vom User verschoben und gelöscht; diese sollen mit Linien verbunden werden.
Die Linien werden beim Setzen der Punkte schon dargestellt. Nun ist es so, dass sich beim Verschieben oder Löschen eines Punktes die Linie vom vorherigen Punkt wieder verschieben muss (also so, dass die Linie vom vorherigen Punkt zum Punkt, der verschoben wird, verschiebt).

Ich habe mir gedacht, dass ich bei jedem Verschieben und Löschen die PictureBoxen (also die Punkte) "reorganisieren" muss. Wenn es verschoben wird, ist die Variable PicMove (siehe unten) auf True gesetzt.

Hier der Code zum Organisieren der Controls:

Private Sub ReorganizeControls(Optional ByVal PicMove As Boolean = False)
        Dim one As Control = Nothing
        Dim two As Control = Nothing
 
        For Each i As Control In Me.Controls
            If TypeOf i Is PictureBox Then
                If one Is Nothing = False AndAlso two Is Nothing = False Then
                    Dim myPen As New System.Drawing.Pen( _
                      System.Drawing.Color.Black, 1)
                    Dim formGraphics As System.Drawing.Graphics
                    formGraphics = Me.CreateGraphics()
 
                    Dim myPen2 As New System.Drawing.Pen( _
                      System.Drawing.Color.Gray, 1)
                    Dim formGraphics2 As System.Drawing.Graphics
                    formGraphics2 = Me.CreateGraphics()
 
                    If PicMove = True Then
                        formGraphics2.DrawLine(myPen2, one.Location.X, _
                          one.Location.Y, two.Location.X, two.Location.Y)
                    End If
                    formGraphics.DrawLine(myPen, one.Location.X, _
                      one.Location.Y, two.Location.X, two.Location.Y)
                Else
                    If one_isActive = False Then
                        one = i
                        one_isActive = True
                    Else
                        two = i
                        one_isActive = False
                    End If
 
                End If
 
            End If
 
        Next
    End Sub
Wenn jetzt die Variable PicMove auf True gesetzt ist, sollte die vorherige Linie gelöscht und eine neue gezeichnet werden.
Leider weiß ich nicht so genau, wie das gehen soll.

______________________________________


www.fk-freeware.de.vu

Beitrag wurde zuletzt am 31.01.09 um 13:09:18 editiert.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Linien zeichnen und verschieben2.595Florian31.01.09 13:04
Re: Linien zeichnen und verschieben1.209GPM01.02.09 16:18
Re: Linien zeichnen und verschieben1.011Florian01.02.09 18:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel