ps_menu 是一个mainmenu 
我要表示ps_ menu第li_i项的下一级菜单,怎么写??我这样试了一下
ps_menu.MenuItems[li_i].MenuItems 
但是系统提示
E:\财务\财务管理程序\0.7_0620\财务管理\F_main.cs(1298): 参数“1” : 无法从“System.Windows.Forms.Menu.MenuItemCollection”转换为“System.Windows.Forms.Menu”请大家帮忙,请问应该怎么写??谢谢

解决方案 »

  1.   

    沉了 
    自己顶我用C#实现的 CS架构,还请高手抽出一点二时间帮我解答一下
    谢谢
      

  2.   

    foreach(MenuItem mi in MenuItems)
    {
       menuItems m = mi.MenuItems;//获取子菜单
    ....
    }
      

  3.   

    to 杂食动物:这样写好象不可以,我把代码贴出来,
    //菜单权限
    private void f_menuright(mainMenu ps_menu)
    {
    string gs_userright;
    gs_userright = F_login.gs_userright;
    int li_i,ii_j=0;
    for (li_i=1;li_i<=ps_menu.MenuItems.Count;li_i++) 
    {
    if (ps_menu.MenuItems[li_i].Text == "-") 
    {
    continue;
    }
    if (gs_userright.Substring(ii_j,1) == "1") 
    {
    ps_menu.MenuItems[li_i].Enabled = true;
    }
    else
    {
    ps_menu.MenuItems[li_i].Enabled = false;
    }
    ii_j++;
    if (ps_menu.MenuItems[li_i].MenuItems.Count > 0) 
    {
    f_menuright(ps_menu.MenuItems[li_i]);//.MenuItems
    }
    }
    } private void F_main_Load(object sender, System.EventArgs e)
    {
    //设定权限f_menuright
    f_menuright(this.mainMenu1);
    }
      

  4.   

    你是要获得一个集合,
    还是一个菜单项?集合用 System.Windows.Forms.Menu.MenuItemCollection mic = ps_ menu.MenuItems[ii].MenuItems;菜单项用 MenuItem mi = ps_ menu.MenuItems[ii];
      

  5.   

    比方说有3级

    this.mainMenu1.MenuItems[this.menuItem1.Index].MenuItems[this.menuItem3.Index]....
      

  6.   

    //菜单权限
    private void f_menuright(MainMenu ps_menu)
    {
    string gs_userright;
    gs_userright = F_login.gs_userright;
    int li_i,ii_j=0;
    for (li_i=1;li_i<=ps_menu.MenuItems.Count;li_i++) 
    {
    if (ps_menu.MenuItems[li_i].Text == "-") 
    {
    continue;
    }
    if (gs_userright.Substring(ii_j,1) == "1") 
    {
    ps_menu.MenuItems[li_i].Enabled = true;
    }
    else
    {
    ps_menu.MenuItems[li_i].Enabled = false;
    }
    ii_j++;
    if (ps_menu.MenuItems[li_i].MenuItems.Count > 0) 
    {
    f_menuright((MainMenu)ps_menu.MenuItems[li_i]);//.MenuItems
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~系统提示:无法将类型“System.Windows.Forms.MenuItem”转换为“System.Windows.Forms.MainMenu” }
    }
    }private void F_main_Load(object sender, System.EventArgs e)
    {
    //设定权限f_menuright
    f_menuright(this.mainMenu1);
    }
    在我自定义的函数f_menuright(this.mainMenu1);中的参数this.mainMenu1是mainMenu类型的,我在递归调用f_menuright((MainMenu)ps_menu.MenuItems[li_i])的时候传递的参数必须也是mainMenu类型的,但是系统提示无法转换,请问我应该如何改写?谢谢