2011-05-27 41 views
1

我只是在想,如果我有一个列表视图控件,与列,并插入项目的列,例如:N个液滴内为自己列(.NET)

动物..................汽车

狗------------------福特FOUCS

猫-------------------斯巴鲁拉力赛

公牛-------------------兰博加拉多

我可以从一列中选择一项并放入另一列中,例如: (选择兰博基尼盖拉多并拖动其拖放到“动物列”

动物..................汽车

狗------ ------------福特FOUCS

猫-------------------斯巴鲁拉力

公牛
兰博的Gallardo

我的目标是不使用很多listviews控件来从一个列到另一个列进行交互。可以在多个列之间拖放功能。

我发现了很多例子,但它们只是从一个listview到另一个listview之间。 你试过吗?我想在vb.net中做到这一点。

更新08/17/2011 回答Jonsca: 我已经完成了漫长而可怕的解决方案:创建不同的列表视图控件。

Private Sub ListView_DragDrop(ByVal sender As Object, ByVal e As _ 
System.Windows.Forms.DragEventArgs) Handles list1.DragDrop, _ 
list2.DragDrop, list3.DragDrop, listN.DragDrop 

和一些更多的Itemdrag和dragenter事件。有一些想法来杀死这段代码?

+0

您是否能够找到一个适用于此的解决方案? – jonsca 2011-08-13 07:57:08

+0

如果编辑问题以包含一些新代码,至少可以更容易阅读,那么可能会更好。 – jonsca 2011-08-17 00:45:25

回答

0

你可以选择将监视ItemDrag事件,当你按住鼠标移到右侧栏并拖累,但唯一的问题是,sender将是整个ListViewItem(即DogFordFocus)。这可能不是两列的问题(这种情况下,移动的项目,你会删除第一个SubItemFordFocus)是ListViewItem,并开始新的ListViewItem编程,以FordFocus为文本,无子。

因此,这只适用于从第2列到第1列,而不是相反。第三列,您将无法区分您选择的是第2列还是第3列。