用C#2005编写的读取MenuStrip菜单控件下的所有无子菜单项的菜单项并把它的名称添加到ArrayList中

来源:互联网 发布:怎样搜索网络打印机 编辑:程序博客网 时间:2024/06/11 09:15

下面这段程序是用C#2005编写的,实现的功能是:读取MenuStrip菜单控件下的所有无子菜单项的菜单项,并把它的名称添加到ArrayList中。
GetMenuItem函数是一个叠代函数。GetChildMenuItem是主函数,它调用GetMenuItem函数。

using System;
using System.Collections;
private void GetMenuItem(ToolStripMenuItem smi,ref ArrayList list)
{
  if (!smi.HasDropDownItems)
  {
      list.Add(smi.Name);
  }
  else
  {
      for (int i=0;i <smi.DropDownItems.Count;i++)
      {

           if (ms.Items[i] is ToolStripMenuItem)

           {

                GetMenuItem(smi.DropDownItems[i] as ToolStripMenuItem,ref list);

           }
      }
  }
}

private ArrayList GetChildMenuItem(MenuStrip ms)
{
  ArrayList list=new ArrayList();
  for (int i=0;i <ms.Items.Count;i++)
  {
      ToolStripMenuItem msi;
      if (ms.Items[i] is ToolStripMenuItem)
      {
        msi=(ToolStripMenuItem)ms.Items[i];
        GetMenuItem(msi,ref list);
      }
  }
  return list;
}

原创粉丝点击