vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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
dodragdrop zwischen 2 instanzen eines modules 
Autor: gebo
Datum: 23.05.08 15:40

Hi

ich komme einfach nicht mehr weiter und finde dazu nichts im web...

vereinfacht:
Form1:
enthält 2 TabControls und in jedes Tab (von TabControl_1 und _2) kommt das Benutzersteuerelement Modul1
Modul1:
enthält ein ListView1 (mit Drag&Drop)

das Problem:
Damit ich ein item von TabControl_1.Tab_X.ListView1 nach TabControl_2.Tab_Y.ListView1 ziehen kann muss ich erst im Ziel-ListView eine Drag&Drop Aktion gestartet haben.
Davor bekomme ich den "not allowed" cursor, nach einmaligem Drag(Start?) geht es.

Setzt die DoDragDrop() einen Wert den ich schon vorher selbst setzen kann um das zu vermeiden?
Oder mache ich irgend etwas falsch?



der Drag&Drop code aus Modul1:
    Dim DragItems As Windows.Forms.ListView.SelectedListViewItemCollection
 
    Private Sub On_Load() Handles Me.Load
        ListView1.AllowDrop = True
    End Sub
 
    Private Sub ListView1_ItemDrag(ByVal sender As Object, ByVal e As _
      ItemDragEventArgs) Handles ListView1.ItemDrag
        DragItems = ListView1.SelectedItems
        DoDragDrop(DragItems, DragDropEffects.All)
    End Sub
 
    Private Sub ListView1_DragOver(ByVal sender As Object, ByVal e As _
      DragEventArgs) Handles ListView1.DragOver
        Dim action As String = ""
        If ((e.KeyState And 32) = 32 And _
            (e.AllowedEffect And DragDropEffects.Link) = DragDropEffects.Link) _
            Then
            e.Effect = DragDropEffects.Link ' ALT
            action = "Link"
        ElseIf ((e.KeyState And 4) = 4 And _
            (e.AllowedEffect And DragDropEffects.Move) = DragDropEffects.Move) _
            Then
            e.Effect = DragDropEffects.Move ' SHIFT
            action = "Move"
        ElseIf ((e.KeyState And 8) = 8 And _
            (e.AllowedEffect And DragDropEffects.Copy) = DragDropEffects.Copy) _
            Then
            e.Effect = DragDropEffects.Copy ' CTL
            action = "Copy"
        ElseIf ((e.AllowedEffect And DragDropEffects.Move) = _
          DragDropEffects.Move) Then
            e.Effect = DragDropEffects.Move ' no key
            action = "Move"
        Else
            e.Effect = DragDropEffects.None
            action = "Not allowed"
        End If
 
        Dim p As System.Drawing.Point
        p.X = e.X
        p.Y = e.Y
        p = ListView1.PointToClient(p)
        Dim dropToItem As ListViewItem = ListView1.GetItemAt(p.X, p.Y)
        Dim items As String = ""
        For Each item As Windows.Forms.ListViewItem In DragItems
            items &= item.Text & ", "
        Next
        Form1.StatusMSG(action & ": " & items & " To: " & dropToItem.Text)
    End Sub
 
    Private Sub ListView1_DragDrop(ByVal sender As Object, ByVal e As _
      DragEventArgs) Handles ListView1.DragDrop
        ...
    End Sub
Vielen Dank, sollte sich wer die Mühe machen mir zu helfen.

Beitrag wurde zuletzt am 23.05.08 um 15:53:45 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
dodragdrop zwischen 2 instanzen eines modules1.162gebo23.05.08 15:40
Re: dodragdrop zwischen 2 instanzen eines modules611Melkor23.05.08 19:26
Re: dodragdrop zwischen 2 instanzen eines modules526gebo24.05.08 19:14
Re: dodragdrop zwischen 2 instanzen eines modules510Melkor24.05.08 20:17

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