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

最近在跟书上做一个系统:其中一个方法如下所示:#region将StatusStrip控件中的信息添加到treeView控件中publicvoidGetMenu(TreeV... 最近在跟书上做一个系统:
其中一个方法如下所示:
#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

遇到这个之后实在是没怎么看懂,什么遍历遍历一级二级三级菜单的,等等。求大神细致一点的解释。
展开
 我来答
syht2000
高粉答主

2014-07-05 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
这个代码的注释写错了,这跟StatusStrip控件没任何关系,是用来循环读取菜单上的内容加入treeView的(MenuStrip就是最常用的那个菜单控件)
至于一二级菜单什么的,你打开记事本,最上面的文件(F)、编辑(E)这些就是一级菜单,文件下的新建、打开这些就是二级,如果打开下面还有菜单就是三级。
这段代码其实是有问题的,它只写了三极菜单而且过于繁琐了,实际上这段代码可以改成用递归来实现的,要比上面代码简单很多。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式