title image


Smiley Re: Steuerelement für den User verschiebar machen
danke, habs denn nochmal anders über mousedown/up versucht (in vb.net, hab ich vergessen zu sagen)



der user soll das control nur inneralb eines bestimmten panels verschieben können (pnlJoinDef, auf diesm befindet sich das control), während des verschiebens wird ein rahmen eingeblendet (pnlFuncMoveBorder)











Private bMouseDown As Boolean = False

    Private nMouseX As Long = 0

    Private nMouseY As Long = 0

    Private pnlFuncMoveBorder As Panel









'...









    Private Sub lblFuncTblCaption_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)

        nMouseX = e.X

        nMouseY = e.Y

        bMouseDown = True



        pnlFuncMoveBorder = New Panel

        pnlFuncMoveBorder.BorderStyle = BorderStyle.FixedSingle

        pnlFuncMoveBorder.Visible = False

        pnlMain.Controls.Add(pnlFuncMoveBorder)

        pnlFuncMoveBorder.Left = sender.left

        pnlFuncMoveBorder.Top = sender.top

        pnlFuncMoveBorder.Width = sender.width

        pnlFuncMoveBorder.Height = sender.Height

        pnlFuncMoveBorder.Visible = True

    End Sub



    Private Sub lblFuncTblCaption_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)

        If bMouseDown Then

            pnlFuncMoveBorder.Left = sender.left + (e.X - nMouseX)

            pnlFuncMoveBorder.Top = sender.top + (e.Y - nMouseY)

        End If

    End Sub



    Private Sub lblFuncTblCaption_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)

        bMouseDown = False

        sender.left = sender.left + (e.X - nMouseX)

        sender.top = sender.top + (e.Y - nMouseY)

        pnlFuncMoveBorder.Dispose()

    End Sub





Code eingefügt mit Syntaxhighlighter 4.0




FuchsSt
i guess there is always something to look forward to...

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: