異なる項目数のD&D
- 題名: 異なる項目数のD&D
- 著者: Ash
- 日時: 2006/02/06 8:31:16
- ID: 14861
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 異なる項目数のD&D
- 著者: まどか
- 日時: 2006/02/06 17:56:32
- ID: 14883
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 異なる項目数のD&D
- 著者: Ash
- 日時: 2006/02/08 13:00:04
- ID: 14924
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: 異なる項目数のD&D
- 著者: まどか
- 日時: 2006/02/08 15:40:12
- ID: 14931
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: 異なる項目数のD&D
- 著者: Ash
- 日時: 2006/02/08 19:24:46
- ID: 14946
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
お世話になっています。
早速ですが、リストビュー1には
With lvLIST1
.Clear()
.Columns.Add("項目1", 40, HorizontalAlignment.Left)
.Columns.Add("項目2", 40, HorizontalAlignment.Left)
.Columns.Add("項目3", 50, HorizontalAlignment.Left)
.Columns.Add("項目4", 40, HorizontalAlignment.Left)
.Columns.Add("項目5", 200, HorizontalAlignment.Left)
End With
・・・という項目があり
リストビュー2には
With lvLIST2
.Clear()
.Columns.Add("項目5", 40, HorizontalAlignment.Left)
.Columns.Add("項目1", 40, HorizontalAlignment.Left)
.Columns.Add("項目3", 50, HorizontalAlignment.Left)
End With
があります。
リストビュー1からリストビュー2へD&Dすると、リストビュー1の項目1がリストビュー2の項目5に、項目2が項目1にドロップしますよね。
そこでドロップする際にどの項目がどの項目へドロップするかを指定することってできるのでしょうか?
D&Dには以下のようなコードを使っています
Dim lvItem As ListViewItem
Dim destItem As ListViewItem
Dim destLv As ListView = CType(sender, ListView)
Dim clX As Integer = destLv.PointToClient(New Point(e.X, e.Y)).X
Dim clY As Integer = destLv.PointToClient(New Point(e.X, e.Y)).Y
Dim p As Point = destLv.PointToClient(New Point(e.X, e.Y))
Dim itm As ListViewItem = destLv.GetItemAt(p.X, p.Y)
If e.Data.GetDataPresent("System.Windows.Forms.ListViewItem", False) Then
lvItem = CType(e.Data.GetData("System.Windows.Forms.ListViewItem"), ListViewItem)
destItem = CType(sender, ListView).GetItemAt(clX, clY)
If itm Is Nothing Then
destLv.Items.Add(lvItem.Clone)
Else
destLv.Items.Insert(destItem.Index, lvItem.Clone)
End If
lvItem.Remove()
End If
ご教授お願いします。