【发布时间】:2015-01-14 15:44:41
【问题描述】:
我正在尝试在 Windows 窗体应用程序中将 ListViewItem 从一个 ListView 拖放到另一个。我有两个ListViews:lvImageFolder 和lvWebServer。我正在尝试从lvImageFolder 拖动到lvWebServer。
我的代码如下所示:
private void lvImageFolder_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
txtCursor.Text = Cursor.Position.ToString();
lvWebServer.DoDragDrop(lvImageFolder.Items[0].Text, DragDropEffects.Move);
}
}
private void lvWebServer_DragDrop(object sender, DragEventArgs e)
{
string dragToItem = e.Data.GetData(DataFormats.Text).ToString();
lvWebServer.Items.Add(dragToItem);
}
private void lvWebServer_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text))
{
e.Effect = DragDropEffects.Move;
}
else
{
e.Effect = DragDropEffects.None;
}
}
我遇到的问题是字符串dragToItem 是空的。我也尝试将序列化对象传递给 DoDragDrop 方法,但这给了我什么问题。
谁能解释一下这个问题?
【问题讨论】:
-
我注意到
lvImageFolder_MouseDown你总是使用列表中第一个元素的文本。这是故意的吗?
标签: c# listview drag-and-drop