我在下面的一种形式中有2个Treeview。如何区分.net中的两个相同表单控件的实例
left_treeview_node1 | right_treeview_node1
left_treeview_node2 | right_treeview_node2
left_treeview_node3 | right_treeview_node3
left_treeview_node4 | right_treeview_node4
这里我们可以拖放左侧treenode进行映射。
现在用户已打开2个相同表单的实例,并且他将第一个实例的left_treeview_node1
拖放到另一个同一表单实例的right_treeview_node4
。
因此如何区分另一个实例并停止支持从一个实例拖放到另一个实例。
对于同一个表单的每个实例,有不同的GUID吗?
我们可以使用Mutex来区分2个相同形式的实例吗?
在此先感谢...
设置名称属性。此外,事件参数包含指向控件的链接并使用该参数来获取控件。 – jdweng
在DragDrop事件https://msdn.microsoft.com/en-us/library/system.windows.forms.control.dragdrop(v=vs.110).aspx中,您可以将sender.Parent与此表单进行比较。如果sender.Parent ==这个,它就是这个表单的同一个实例。设置事件的断点并查看发件人的属性以查找表单参考 – Mangist
您可以随时在窗体中添加'public guid WindowId {get;} = Guid.NewGuid();'并将其用于区分。 –