vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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 - Fortgeschrittene
Re: drag&drop beispiel 
Autor: tekla
Datum: 07.12.05 17:34

ja, äh..wennst magst kannst dir mal meinen code anschauen, das willkürliche verschieben funktioniert jetz.
nur das image verschieben wäre mir eigentlich lieber, aber ich weiss nicht wie das geht (Anfänger).
kannst du mir sagen, oder besser noch zeigen anhand eines beispiels wie das geht?


Protected Shared m_PreviousMouseEventArgs As MouseEventArgs

Const AllowAll As DragDropEffects = _
DragDropEffects.Copy Or _
DragDropEffects.Link Or _
DragDropEffects.Move Or _
DragDropEffects.Scroll

'Const AllowAll As DragDropEffects = DragDropEffects.All 'unterschlägt DragDropEffects.Link (Bug?)

Protected Shared Sub SourceControl_MouseDown( _
ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles PictureBox1.MouseDown
'e enthält möglicherweise die Startposition eines Drag-Vorgangs
If e.Button = MouseButtons.Left Then
m_PreviousMouseEventArgs = e
End If
End Sub


Protected Sub PictureBox1_MouseMove( _
ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseMove
'2) im Mousemove der Source wird geprüft, ob mit gedrückter li Mousetaste bewegt wird, dann wird
'! ein Dataobjekt befüllt, und DoDragDrop gestartet.
If e.Button = MouseButtons.Left AndAlso m_PreviousMouseEventArgs.Button = MouseButtons.Left Then
'e enthält möglicherweise die Startposition eines Drag-Vorgangs - tatsächlich!!!
Dim ctlSource As Control = DirectCast(sender, Control)
Dim oData As New DataObject("DragSource", ctlSource)
oData.SetData("MouseX", m_PreviousMouseEventArgs.X)
oData.SetData("MouseY", m_PreviousMouseEventArgs.Y)
If ctlSource.DoDragDrop(oData, AllowAll) = DragDropEffects.None Then

'Ja, was?
End If
End If
m_PreviousMouseEventArgs = e
End Sub

Protected Overridable Sub Picturebox2_DragOver( _
ByVal sender As System.Object, ByVal e As DragEventArgs) Handles picturebox2.DragOver
'3) Beim Ziehen übers Target wird dessen _DragOver-Event gefeuert, darin ist der Allowed-Effekt
'! des Drag-Vorgangs festzulegen (move?, copy?)
If Not e.Data.GetDataPresent("DragSource") Then Return 'Dragging wurde nicht von
'! PictureBox1_MouseMove gestartet
'In der folgenden Tabelle sind die Bits aufgeführt, die für ein angegebenes Ereignis festgelegt
'! werden.
' Bit(Taste)
'1 Die linke Maustaste.
'2 Die rechte Maustaste.
'4 Die UMSCHALTTASTE.
'8 Die STRG-TASTE.
'16 Die mittlere Maustaste.
'32 Die ALT-Taste.
Dim Allowed As DragDropEffects = e.AllowedEffect
Select Case e.KeyState
Case 1
e.Effect = DragDropEffects.Move And Allowed
Case 1 + 8
e.Effect = DragDropEffects.Copy And Allowed
Case 1 + 4 + 8, 1 + 32
e.Effect = DragDropEffects.Link And Allowed
End Select
End Sub

Protected Overridable Sub Picturebox2_DragDrop( _
ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) _
Handles picturebox2.DragDrop
'4) als nächstes erhält es das _DragDrop-Event, da ist das Data-Objekt auszulesen, und
'! entsprechend dem nun erfolgten Drag-Effekt zu verwursten.
Dim ctlSource As PictureBox = DirectCast(e.Data.GetData("DragSource"), PictureBox)

Select Case e.Effect
Case DragDropEffects.Copy
picturebox2.Image = ctlSource.Image

Case DragDropEffects.Move
With ctlSource
Dim ptLocation As Point
ptLocation = picturebox2.PointToClient(New Point(e.X, e.Y)) 'Mouseposition,
'! bezogen auf PictureBox2
ptLocation.Offset(-.Width \ 2, -.Height \ 2) 'ctlSource so verrücken, daß
'! die Maus in seiner Mitte ist
.Location = ptLocation
.Parent = picturebox2 'real move!
End With

End Select
End Sub

vielen Dank im voraus!
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
drag&drop beispiel1.624tekla05.12.05 21:41
Re: drag&drop beispiel1.255Silver07.12.05 00:55
Re: drag&drop beispiel1.443tekla07.12.05 17:34
Re: drag&drop beispiel1.273Silver07.12.05 23:01
Re: drag&drop beispiel1.312tekla08.12.05 10:35
Re: drag&drop beispiel1.384Silver08.12.05 11:59
Re: drag&drop beispiel1.314tekla08.12.05 14:51
Re: drag&drop beispiel1.278Silver08.12.05 21:26
Re: drag&drop beispiel1.270tekla09.12.05 15:10
Re: drag&drop beispiel1.301Silver09.12.05 21:11
Re: drag&drop beispiel1.285Hänk08.12.05 11:49
Re: drag&drop beispiel1.255Silver08.12.05 11:51
Re: drag&drop beispiel1.447Hänk08.12.05 12:18
Re: drag&drop beispiel1.272Silver08.12.05 22:12

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