3
我有一堆TreeNodes的TreeView控件。每個節點ContextMenu根據其狀態具有不同的MenuItem。所以我現在將每個TreeNode連接到它自己的ContextMenu。如何獲取調用上下文菜單的TreeNode?
TreeView tv = new TreeView();
TreeNode tn = New TreeNode();
tn.ContextMenu = GetContextMenu(state);
tv.Nodes.Add(tn);
然後在MenuItem的click事件中,我嘗試獲取ContextMenu所屬的TreeNode。
MenuItem mi = (MenuItem)sender;
ContextMenu tm = mi.GetContextMenu();
var sc = tm.SourceControl;
問題是,tm.SourceControl == null
。我注意到TreeNode
不是從Control
派生。這就是爲什麼SourceControl
屬性爲空?我如何獲得適當的TreeNode對象?甚至是TreeView對象?
你可以看看這個計算器之前後,看看它是否有助於http://stackoverflow.com/questions/2527/c-sharp-treeview-context-menus – MethodMan 2011-12-16 14:20:54
這有幫助。我沒有在我的搜索中看到。謝謝。我該怎麼處理這個問題? – scott 2011-12-16 14:25:32