C#中关于一个方法(将StatusStrip控件中的信息添加到treeView控件中)的解释

最近在跟书上做一个系统:
其中一个方法如下所示:
#region 将StatusStrip控件中的信息添加到treeView控件中
public void GetMenu(TreeView treeV, MenuStrip menuS)
{
for (int i = 0; i < menuS.Items.Count; i++)//遍历MenuStrip组件中的一级菜单项
{
TreeNode newNode1 = treeV.Nodes.Add(menuS.Items[i].Text);
//将一级菜单项的名称添加到TreeView组件的根节点中,并设置当前节点的子节点newNode1

ToolStripDropDownItem newmenu = (ToolStripDropDownItem)menuS.Items[i];
//将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中

if (newmenu.HasDropDownItems && newmenu.DropDownItems.Count > 0)
//判断当前菜单项中是否有二级菜单项
{
for (int j = 0; j < newmenu.DropDownItems.Count; j++)//遍历二级菜单项
{
TreeNode newNode2 = newNode1.Nodes.Add(newmenu.DropDownItems[j].Text);
//将二级菜单名称添加到TreeView组件的子节点newNode1中,并设置当前节点的子节点newNode2

ToolStripDropDownItem newmenu2 = (ToolStripDropDownItem)newmenu.DropDownItems[j];
//将当前菜单项的所有相关信息存入到ToolStripDropDownItem对象中
if (newmenu2.HasDropDownItems && newmenu2.DropDownItems.Count>0)
//判断二级菜单项中是否有三级菜单项
{
for (int p = 0; p < newmenu2.DropDownItems.Count; p++)//遍历三级菜单项
{
newNode2.Nodes.Add(newmenu2.DropDownItems[p].Text);
}
}
}
}
}
}
#endregion

遇到这个之后实在是没怎么看懂,什么遍历遍历一级二级三级菜单的,等等。求大神细致一点的解释。

这个代码的注释写错了,这跟StatusStrip控件没任何关系,是用来循环读取菜单上的内容加入treeView的(MenuStrip就是最常用的那个菜单控件)
至于一二级菜单什么的,你打开记事本,最上面的文件(F)、编辑(E)这些就是一级菜单,文件下的新建、打开这些就是二级,如果打开下面还有菜单就是三级。
这段代码其实是有问题的,它只写了三极菜单而且过于繁琐了,实际上这段代码可以改成用递归来实现的,要比上面代码简单很多。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜