private void treeView_ItemDrag(object sender, ItemDragEventArgs e)
{
try
{
IVariable variable = getSelectedNode();
this.treeView.DoDragDrop((Variable)variable, DragDropEffects.Copy);
}
catch (Exception) { }
}
private void splitContainer_Panel2_DragDrop(object sender, DragEventArgs e)
{
Variable var = (Variable)(e.Data);
}
变量是一个变量对象(单例模式)。我希望将此对象从树视图拖动到另一个视图(以绘制对象)。 我收到此错误代码:
“System.Windows.Forms.DataObject”类型的对象无法转换为“ORANGE_VARIABLE.Variable”类型。
我在data.form中有正确的对象。
如何拆开此物品?
答案 0 :(得分:2)
当您致电DoDragDrop
时,您的Variable
对象会自动换入DataObject
。要检索它,您需要使用要检索的数据类型调用GetData
:
Variable var = (Variable)e.Data.GetData(typeof(Variable));