Da mein eeePC demnächst ein Touchpanel bekommt und ich einfach mal ein bisschen mit bewegbaren Panels herumgespielt habe, ist dabei folgender Code entstanden.
Damit lassen sich Panels mit gedrückter Maustaste "verschieben" - das tolle dabei ist, dass es den Inhalt gleich mit nimmt !
Highlights:
Die folgende Region in der Klasse einfügen:
Aufruf:
Beenden:
---
Comments erwünscht! Weiss zwar nicht, ob es jemand wirklich etwas produktives bringt, aber ich fande, dass es einen netten Effekt gibt!
Damit lassen sich Panels mit gedrückter Maustaste "verschieben" - das tolle dabei ist, dass es den Inhalt gleich mit nimmt !
Highlights:
- Nur eine Region per Copy & Paste einfügen
- Aufruf mit nur einer Zeile
Die folgende Region in der Klasse einfügen:
VB.NET-Quellcode
- #Region "PanelMover"
- ' ---
- ' == PanelMover 1.0 ==
- ' Panels bewegen mit gedrückter Maustaste (für Touch zum Beispiel, etc.)
- ' 05.08.2010 René B.
- ' ---
- Structure PanelMoverStruct
- Dim PanelName As System.Windows.Forms.Panel
- Dim PosPanel As Point
- Dim PosMaus As Point
- End Structure
- Dim PanelMover As New PanelMoverStruct
- Public WithEvents tmrPanelMover As New Timer
- Public Sub tmrPanelMover_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrPanelMover.Tick
- PanelMover.PanelName.BringToFront()
- PanelMover.PanelName.Location = New Point(MousePosition.X - (PanelMover.PosMaus.X - PanelMover.PosPanel.X), MousePosition.Y - (PanelMover.PosMaus.Y - PanelMover.PosPanel.Y))
- End Sub
- Private Sub BewegePanelStart(ByVal PanelName As System.Windows.Forms.Panel)
- PanelMover.PanelName = CType(PanelName, Panel)
- PanelMover.PosMaus = MousePosition
- PanelMover.PosPanel = PanelMover.PanelName.Location
- tmrPanelMover.Interval = 20
- tmrPanelMover.Start()
- End Sub
- Private Sub BewegePanelEnde()
- PanelMover.PanelName = Nothing
- PanelMover.PosMaus = Nothing
- PanelMover.PosPanel = Nothing
- tmrPanelMover.Stop()
- End Sub
- #End Region
Aufruf:
Beenden:
---
Comments erwünscht! Weiss zwar nicht, ob es jemand wirklich etwas produktives bringt, aber ich fande, dass es einen netten Effekt gibt!