如何用数据OnDragDrop发送文本?

本文关键字:文本 OnDragDrop 何用 数据 | 更新日期: 2023-09-27 18:17:26

我使用ListView控件来保存在另一个表单上的项。除了我还需要包含SelectedIndex的. name属性,并且能够在接收方法中保持. name和. tag的分离之外,我的一切都工作了。

开始拖动的地方:

listViewCurves.DoDragDrop(listViewCurves.SelectedItems[0].Tag, DragDropEffects.Copy);

我接住的地方:

Curve curve = (Curve)e.Data.GetData(typeof(Curve));

如何用数据OnDragDrop发送文本?

您可以传递任何您想要的对象,因此这可能是使用Tuple<string, Curve>:

的好时机
var selectedItem = listViewCurves.SelectedItems[0];
var data = Tuple.Create(selectedItem.Name, (Curve)selectedItem.Tag);
listViewCurves.DoDragDrop(data, DragDropEffects.Copy);
检索:

var data = (Tuple<string, Curve>)e.Data.GetData(typeof(Tuple<string, Curve>));
var name = data.Item1;
var curve = data.Item2;

您可以在这里阅读更多关于Tuple类的信息