这句话是不是要修改成
topMenuItem.MenuItems[sName].Click += new EventHandler(this.menuItem1_Click);

解决方案 »

  1.   

    另外,这个事件可以修改成:
    private void menuItem1_Click(object sender, System.EventArgs e)
    {
         MenuItem mim = (MenuItem)sender;
         MessageBox.Show(mim.Text);
    }
      

  2.   

    Sorry,第一个不能那样写,汗
    sName = xmlCurNode.Attributes["name"].Value;
    topMenuItem.MenuItems.Add(sName);    
    修改成:
    topMenuItem.MenuItems.Add(new MenuItem(sName));
      

  3.   

    topMenuItem.Click += new EventHandler(this.menuItem1_Click);这句写错了。:)==========================================================================
    谁能回答我第二个问题啊?如果才能给菜单传递sSrc参数呢?
    通过名称是不行的,因为我这个不是名称啊。是一个http地址,谢谢。
    ==========================================================================
      

  4.   

    我看了一下MenuItem,好像没有一个Tag属性:)
    如果有的话就很方便了
    那既然没有,就手动添加吧public class MyMenuItem : MenuItem
    {
    private string _tag = ""; public string Tag
    {
    get
    {
    return this._tag;
    }
    set
    {
    this._tag = value;
    }
    }
    public MyMenuItem(string varInfo):base()
    {
    this._tag = varInfo;
    }
    }
      

  5.   

    这样,你New的时候要New这个MyManuItem了:)
    sName = xmlCurNode.Attributes["name"].Value;
    MyManuItem mmi = new MyManuItem(你希望传递的信息);topMenuItem.MenuItems.Add(mmi );   
    .......
    mmi.Click +=   new EventHandler(this.menuItem1_Click);
                 
    private void menuItem1_Click(object sender, System.EventArgs e)
    {
         MyMenuItem mmi = (MyMenuItem )sender;
         MessageBox.Show(mim.Tag);
    }
      

  6.   

    就是说,自己继承一下这个ManuItem,给它添加上自己想要的属性
      

  7.   

    public MyMenuItem(string varInfo):base()
    {
    this._tag = varInfo;
    }public MyMenuItem(string text,string varInfo):base(text)
    {
    this._tag = varInfo;
    }
    ---修改那个重载的类MyManuItem mmi = new MyManuItem(你希望传递的信息);
    ---》
    MyManuItem mmi = new MyManuItem(sName,你希望传递的信息);