我在下面的一種形式中有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();'並將其用於區分。 –