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
Verschieben der Pictureboxen durch MouseDown/-Up 
Autor: Manfred X
Datum: 31.03.10 01:35

Hallo!

Public Class frmPictures2
    Dim pb() As PictureBox
    Dim pbSource As PictureBox
 
    Private Sub frmPictures2_Load(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Width = 300 : Me.Height = 300
        ReDim pb(14)
        Dim pbc As New PictureBox, z As Integer = -1
        For k As Integer = 0 To 2
            For i As Integer = 0 To 4
                z += 1
                pb(z) = New PictureBox
                With pb(z)
                    .Width = 50 : .Height = 50 : .Left = i * 52
                    .Top = 10
                    If z > 4 Then .Top = 70
                    If z > 9 Then .Top = 130
                    .Load("<Bilddatei angeben>")                    
                    .SizeMode = PictureBoxSizeMode.StretchImage
 
                    AddHandler .MouseDown, AddressOf Pic_MouseDown
                    AddHandler .MouseUp, AddressOf Pic_MouseUp
                End With
                Me.Controls.Add(pb(z))
            Next i
        Next k
    End Sub
 
    Private Sub Pic_MouseDown(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.MouseEventArgs)
        If e.Button = Windows.Forms.MouseButtons.Left Then
            pbSource = CType(sender, PictureBox)
        End If
    End Sub
 
    Private Sub Pic_MouseUp(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.MouseEventArgs)
        If e.Button = Windows.Forms.MouseButtons.Left Then
            If pbSource Is Nothing Then Exit Sub
 
            Dim pbDest As PictureBox
            Dim x As Integer = pbSource.Left + e.X
            Dim y As Integer = pbSource.Top + e.Y
 
            Dim c As Control = Me.GetChildAtPoint _
            (New Drawing.Point(x, y), GetChildAtPointSkip.None)
            If c Is Nothing Then Exit Sub
            If Not TypeOf c Is PictureBox Then Exit Sub
            pbDest = CType(c, PictureBox)
            If ReferenceEquals(pbSource, pbDest) Then Exit Sub
 
            Dim l As Integer = pbSource.Left
            Dim t As Integer = pbSource.Top
            pbSource.Top = pbDest.Top
            pbSource.Left = pbDest.Left
            pbDest.Left = l : pbDest.Top = t            
        End If
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Controls tauschen/verschieben1.868Sev7eNup30.03.10 20:24
Re: Controls tauschen/verschieben1.320Manfred X30.03.10 22:06
Re: Controls tauschen/verschieben1.535Sev7eNup30.03.10 22:27
Re: Controls tauschen/verschieben1.329Manfred X30.03.10 22:43
Verschieben der Pictureboxen durch MouseDown/-Up1.368Manfred X31.03.10 01:35
Re: Controls tauschen/verschieben1.293ModeratorRalfE31.03.10 06:47
Re: Controls tauschen/verschieben1.371Sev7eNup31.03.10 09:17
Re: Controls tauschen/verschieben1.302Sev7eNup31.03.10 09:39

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