如何开始实现不同进程之间的拖放?
问题描述:
我正在开发的应用程序是用C#编写的Windows窗体应用程序。它有一个树形图。每个treeNode存储一些数据。我想要做的是打开应用程序的两个副本,从一个应用程序中拖动一些treenode并拖放到另一个应用程序。 treenodes存储的数据应该转移到另一个应用程序上,以在另一个应用程序上构建treenode。我想知道如何实现像这样的拖放功能?谢谢你的帮助。如何开始实现不同进程之间的拖放?
答
我想如果你把你的类型标记为[Serializable]并实现自定义序列化,它应该可以工作。否则,您可以将它们自己序列化为一个MemoryStream,然后使用任何自定义数据格式将该MemoryStream添加到该数据对象。
我正在为第三个类似的解决方案。党树视图。在正在运行的应用程序的另一个实例中放入一个完全相同类型的控件时:您有一个“代理”。我希望找到一种非API方式来“取消引用”代理,并将其数据放入Dropped on控件中。我认为我有一个解决方案,但结果是无法实现(无论如何,我)。你可以从Groo的答案中“得到一些东西”,这里提出的问题是我最好地提出了http://*.com/questions/1699504/c-detect-desktop-folder-mouse-up-during-a-drag-operation, – BillW 2009-11-20 03:44:38
实际上,拖动treenode时,它应该设置底层对象。在丢弃treenode时,应该提取基础数据以构建新的treenode。 – telescope 2009-11-20 07:55:50