Я пытаюсь перетащить ListViewItem
из одного ListView
в другое приложение Windows Form. У меня есть два ListViews
: lvImageFolder
и lvWebServer
. Я пытаюсь перетащить с lvImageFolder
в lvWebServer
.C# ListView Drag and Drop
Мой код показан ниже:
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' вы всегда используете текст первого элемента в списке. Это намеренно? – adv12