vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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
Re: VB 2008: Eine Spalte im Listview editierbar machen 
Autor: Maas
Datum: 30.03.10 10:13

Drag&Drop läuft ganz normal über ButtonDown, MouseMove und Drop.

    Private mStartPoint As Point
    Private mNonDragTypes() As Type = New Type() {GetType(TextBox)}
 
    Private Sub Item_PreviewMouseLeftButtonDown(ByVal sender As System.Object, _
      ByVal e As System.Windows.Input.MouseButtonEventArgs)
        mStartPoint = e.GetPosition(Me)
        Dim lvi As ListViewItem = TryCast(sender, ListViewItem)
        If lvi IsNot Nothing Then
            Dim htr As HitTestResult = VisualTreeHelper.HitTest(lvi, _
              e.GetPosition(lvi))
            Dim dObj As DependencyObject = htr.VisualHit
            While dObj IsNot Nothing AndAlso Not mNonDragTypes.Contains( _
              dObj.GetType)
                dObj = VisualTreeHelper.GetParent(dObj)
            End While
            If dObj Is Nothing OrElse Not mNonDragTypes.Contains(dObj.GetType) _
              Then
                AddHandler lvi.MouseMove, AddressOf Me.Item_MouseMove
            End If
        End If
    End Sub
 
    Private Sub Item_MouseMove(ByVal sender As System.Object, ByVal e As _
      System.Windows.Input.MouseEventArgs)
        If e.LeftButton = MouseButtonState.Pressed Then
            Dim actualPoint As Point = e.GetPosition(Me)
            If Math.Abs(mStartPoint.X - actualPoint.X) > _
              SystemParameters.MinimumHorizontalDragDistance OrElse Math.Abs( _
              mStartPoint.Y - actualPoint.Y) > _
              SystemParameters.MinimumVerticalDragDistance Then
                Dim lvi As ListViewItem = TryCast(sender, ListViewItem)
                If lvi IsNot Nothing Then
                    Dim obj As New DataObject("lvi", lvi.DataContext)
                    DragDrop.DoDragDrop(Me, obj, DragDropEffects.All)
                    RemoveHandler lvi.MouseMove, AddressOf Me.Item_MouseMove
                End If
            End If
        End If
    End Sub
 
    Private Sub ListBox_Drop(ByVal sender As Object, ByVal e As DragEventArgs) _
      Handles ListBox1.Drop
        Dim obj As Object = e.Data.GetData("lvi")
        If obj IsNot Nothing Then ListBox1.Items.Add(obj)
    End Sub
            <ListView.ItemContainerStyle>
                <Style TargetType="{x:Type ListViewItem}">
                    <EventSetter Event="PreviewMouseLeftButtonDown" 
                     Handler="Item_PreviewMouseLeftButtonDown"></EventSetter>
                </Style>
            </ListView.ItemContainerStyle>
Maas
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
VB 2008: Eine Spalte im Listview editierbar machen3.213Tomarr29.03.10 15:56
Re: VB 2008: Eine Spalte im Listview editierbar machen2.599Maas29.03.10 19:04
Re: VB 2008: Eine Spalte im Listview editierbar machen2.517Tomarr30.03.10 02:03
Re: VB 2008: Eine Spalte im Listview editierbar machen2.743Maas30.03.10 10:10
Re: VB 2008: Eine Spalte im Listview editierbar machen2.509Tomarr04.04.10 13:57
Re: VB 2008: Eine Spalte im Listview editierbar machen2.531Maas30.03.10 10:13
Re: VB 2008: Eine Spalte im Listview editierbar machen2.897ModeratorFZelle29.03.10 19:58
Re: VB 2008: Eine Spalte im Listview editierbar machen2.582Tomarr30.03.10 02:06
Re: VB 2008: Eine Spalte im Listview editierbar machen2.620ModeratorFZelle30.03.10 10:07

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