问一下,我在MenuItem中加了个事件,
menuItemAdd.Click += new System.EventHandler(this.menuItemAdd_Click);但是需要传递一个参数给下面的方法使用,怎么办?
private void menuItemAdd_Click(object sender, System.EventArgs e)
{    
(new addFile()).ShowDialog();
}System.EventArgs e传递参数是怎么用的。

解决方案 »

  1.   

    通过类成员变量或自定义事件。
    http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx#sec5
      

  2.   

    可以自己定义一个参数,从EventArgs继承,把你的需要传递的参数包含进去
      

  3.   

    public class MyEventArgs : EventArgs 
        { 
            public string            Result; 
            public int               Progress; 
            public CalculationStatus Status; 
            public MyEventArgs ( int progress ) 
            { 
                ...............
            } 
           

    在这个类里包含你要传递的信息就可以了
      

  4.   

    public void CreateListViewMenu(TreeView tr,string selectName)
    { ContextMenu listMenu = new ContextMenu();
    tr.ContextMenu = listMenu; MenuItem menuItemAdd = new MenuItem("&添加光盘夹目录"); MenuItem menuItemDel = new MenuItem("&删除");

    // menuItemDel.Enabled = false ; MenuItem menuItemAnew = new MenuItem("&重命名");
    // menuItemAnew.Enabled = false; listMenu.MenuItems.Clear(); listMenu.MenuItems.Add(menuItemAdd);
    listMenu.MenuItems.Add(menuItemDel);
    listMenu.MenuItems.Add(menuItemAnew); menuItemAdd.Click += new System.EventHandler(this.menuItemAdd_Click);
    menuItemDel.Click += new System.EventHandler(this.menuItemDel_Click);
    }

    private void menuItemAdd_Click(object sender, System.EventArgs e)
    {    
    (new addFile()).ShowDialog();
    } private void menuItemDel_Click(object sender, System.EventArgs e)
    {    

    CDclass.typeSetting.cdFileSetting delFile = new CDmanage.CDclass.typeSetting.cdFileSetting();
    delFile.delCdFile(selectNodeName);

    }
    就是想传递TreeView给事件的处理方法,研究了一天,头都晕。