Вы можете преобразовать отправителя в список и прочитать его выбранное значение.Если вы обрабатываете перетаскивание из onelistbox в событии MouseDown, то должно сработать что-то вроде следующего.
int index = listBox1.IndexFromPoint(e.X, e.Y);
var s = listBox1.Items[index]; //Putting item instead of
DragDropEffects dde1 = DoDragDrop(s, DragDropEffects.All);
if (dde1 == DragDropEffects.All)
{
listBox1.Items.RemoveAt(listBox1.IndexFromPoint(e.X, e.Y));
}
}
В этом случае мой источник данных списка - это коллекция System.Collections.DictionaryEntry.
Таким образом, в событии dragdrop я могу прочитать выбранное значение следующим образом.
if (e.Data.GetDataPresent("System.Collections.DictionaryEntry"))
{
System.Collections.DictionaryEntry r = (System.Collections.DictionaryEntry)e.Data.GetData("System.Collections.DictionaryEntry");
//Use r.Key or r.Value.
lbFav.Items.Add(r.Key);!
}