1 Copy the menustrip content to a Treeview, and call it as follows: copymenutotree (menustrip1, treeview1 );
2
3 Private Void Copymenutotree (menustrip menu, Treeview tree)
4 {
5 Foreach (Toolstripmenuitem item In Menu. Items)
6 {
7 Treenode Node = New Treenode (item. Text );
8 Tree. nodes. Add (node );
9 Copy (item, node );
10 }
11 }
12 Private Void Copy (toolstripmenuitem item, treenode node)
13 {
14 Foreach (Toolstripmenuitem subitem In Item. dropdownitems)
15 {
16 Treenode subnode = New Treenode (subitem. Text );
17 Node. nodes. Add (subnode );
18 Copy (subitem, subnode );
19 }
20 }
code highlighting produced by actipro codehighlighter (freeware)
http://www.CodeHighlighter.com/
--> simplified version, same effect, call copymenutotree (menustrip1.items, treeview1.nodes);
private void copymenutotree (toolstripitemcollection itemcoll, treenodecollection nodecoll)
{< br> foreach (toolstripmenuitem item in itemcoll)
{< br> treenode node = New treenode (item. text);
nodecoll. add (node);
copymenutotree (item. dropdownitems, node. nodes);
}< BR >}< br>
Click the node on the Treeview to see if it can be synchronized with menustrip.
Copymenutotree (menustrip1.items, treeview1.nodes );
Private Void Copymenutotree (toolstripitemcollection itemcoll, treenodecollection nodecoll)
{
Foreach (Toolstripmenuitem item In Itemcoll)
{
Treenode Node = New Treenode (item. Text );
Node. Tag = Item; // Add "=================================================== =
Nodecoll. Add (node );
Copymenutotree (item. dropdownitems, node. nodes );
}
}
Set the afterselect event of the Treeview
Private Void Treeviewmediaafterselect ( Object Sender, treevieweventargs E)
{
Toolstripmenuitem item = E. node. Tag As Toolstripmenuitem;
Item. Optional mclick ();
}