Drag and Drop

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • jackob
    New Member
    • Feb 2007
    • 2

    #1

    Drag and Drop

    hello, i have an urgent case,
    i wanna know how to drag and drop panels created dynamically inside a big panel??

    here's below the code i make but it didn't work :
    plz if anyone can help me ...


    Code:
      Private WithEvents DynamicPanel As Panel
        Private WithEvents user As UserCtrl
        Private index As Integer
    
        Private Sub ToolBtn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolBtn1.Click
    
            Dim DynamicSplitter As New Splitter
    
            Me.DynamicPanel = New Panel
            Me.DynamicPanel.Dock = DockStyle.Left
            Me.DynamicPanel.AllowDrop = True
            Me.DynamicPanel.BackColor = Color.White
            DynamicSplitter.Dock = DockStyle.Right
            DynamicSplitter.BackColor = Color.DarkGray
            Me.DynamicPanel.Controls.Add(DynamicSplitter)
    
            user = New UserCtrl
            user.Location = New Point(0, 10)
            user.BackColor = Color.Beige
            Me.DynamicPanel.Controls.Add(user)
            Me.Panel1.Controls.Add(DynamicPanel)
    
            AddHandler Me.DynamicPanel.MouseDown, AddressOf DynamicPanel_MouseDown
    
            AddHandler Me.DynamicPanel.DragEnter, AddressOf DynamicPanel_DragEnter
            AddHandler Me.DynamicPanel.DragDrop, AddressOf DynamicPanel_DragDrop
    
        End Sub
    
        Private Sub DynamicPanel_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DynamicPanel.MouseDown
    
            If e.Button = Windows.Forms.MouseButtons.Left Then
                Me.DynamicPanel.DoDragDrop(Me.DynamicPanel, DragDropEffects.Move)
            End If
    
        End Sub
    
        Private Sub DynamicPanel_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DynamicPanel.DragEnter
    
            e.Effect = DragDropEffects.Move
        End Sub
    
        Private Sub DynamicPanel_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DynamicPanel.DragDrop
    
            Dim Pnl As Panel = CType(e.Data.GetData(GetType(Panel)), Panel) ' the result is nothing
            e.Effect = e.AllowedEffect
            Pnl.Location = New Point(e.X, e.Y) 'try change location here
        End Sub
Working...