vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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 - Ein- und Umsteiger
Re: PictureBox mit Maus verschieben 
Autor: Sev7eNup
Datum: 29.03.10 17:15

Ich nochmal, habe deine Code gerade getestet. Mir hätte schon beim lesen des Codes auffalen müssen, dass das MousMove Event ja nur die PictureBox an eine bestimmte Position verschiebt die eben durch Koordinaten bestimmt ist.

Ich wollte jedoch erreichen, dass ich die PictureBox unter Umständen auch in mehrere definierte Felder ziehen kann, die die gleiche Größe der PictureBox haben. Die PictureBox soll sich dann nur in die vordefinierten Felder ziehen lassen, nicht mehr auf den Rest der Form. Sorry, falls ich mich missverständlich ausgedrückt habe.

Edit: Hab in der Zwischenzeit das ganze mal ein wenig umgestellt und erreicht, dass ich die PictureBox nur in 32*32 große Abschnitte der Form platzieren kann.

Nun würde ich das Ganze gerne so haben, dass die PictureBox nur in andere PictureBoxen gezogen werden kann mit entsprechender Größe.

Class form1
    Dim Drag As Boolean
    Dim x2 As Integer, y2 As Integer
 
    Private Sub Picture2_MouseDown1(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Picture2.MouseDown
        Drag = True
        x2 = e.X
        y2 = e.Y
    End Sub
 
    Private Sub Picture2_MouseMove1(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Picture2.MouseMove
        If Not Drag Then Exit Sub
        Picture2.Left = Picture2.Left + (e.X - x2)
        Picture2.Top = Picture2.Top + (e.Y - y2)
    End Sub
 
    Private Sub Picture2_MouseUp1(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Picture2.MouseUp
        Dim p As Control = DirectCast(sender, Control)
        p.Left = 32 * ((16 + p.Left) \ 32)
        p.Top = 32 * ((16 + p.Top) \ 32)
        Windows.Forms.Cursor.Clip = Nothing
        Drag = False
    End Sub
End Class


Beitrag wurde zuletzt am 29.03.10 um 17:34:50 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
PictureBox mit Maus verschieben4.637Sev7eNup29.03.10 09:54
Re: PictureBox mit Maus verschieben4.003ModeratorDaveS29.03.10 09:58
Re: PictureBox mit Maus verschieben3.897Manfred X29.03.10 10:47
Re: PictureBox mit Maus verschieben3.799Sev7eNup29.03.10 11:25
Re: PictureBox mit Maus verschieben3.991Manfred X29.03.10 12:55
Re: PictureBox mit Maus verschieben3.774Sev7eNup29.03.10 15:00
Re: PictureBox mit Maus verschieben3.848Manfred X29.03.10 15:54
Re: PictureBox mit Maus verschieben3.806Sev7eNup29.03.10 17:02
Re: PictureBox mit Maus verschieben4.616Sev7eNup29.03.10 17:15
Re: PictureBox mit Maus verschieben5.617Manfred X29.03.10 17:49
Re: PictureBox mit Maus verschieben3.860Sev7eNup29.03.10 18:01
Re: PictureBox mit Maus verschieben3.888Manfred X29.03.10 18:22
Re: PictureBox mit Maus verschieben3.854Sev7eNup29.03.10 18:23
Re: PictureBox mit Maus verschieben3.824Sev7eNup29.03.10 18:53
Re: PictureBox mit Maus verschieben3.808Manfred X29.03.10 19:23
Re: PictureBox mit Maus verschieben3.824Sev7eNup29.03.10 19:37
Re: PictureBox mit Maus verschieben3.779keco29.03.10 19:44
Re: PictureBox mit Maus verschieben3.897Manfred X29.03.10 19:45
Re: PictureBox mit Maus verschieben3.841Sev7eNup29.03.10 19:53
Re: PictureBox mit Maus verschieben4.035Sev7eNup30.03.10 12:46

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