如何使用子窗体来调用父窗体的方法?
我在父窗体中写了一个方法,该方法用来删除父窗体菜单下的一个子菜单项,代码如下:
         public void DelOtherWindow(string windowname )
         {
             foreach (object obj in this.OtherWindows.DropDownItems)
             {
                 if (obj.ToString() == windowname)
                 {
                     this.OtherWindows.DropDownItems.Remove((ToolStripItem)obj);
                     break;
                 }
             }
         }
子窗体中的代码:
         private void Form2_FormClosed(object sender, FormClosedEventArgs e)
         {
             Main mn = new Main();     //Main为主窗体名
             mn.DelOtherWindow(this.Text);
         }
当子窗体关闭后,并不能如预期那样将父窗体菜单下的一个子菜单项删除。但是在父亲中调用该方法就可以删除。请问这是怎么回事呀?如何实现我的想法呢?请高手不吝赐教。
------解决方案--------------------把处理的代码都写到主窗体中:
代码段1:
public void DelOtherWindow(string windowname )  
       {  
           foreach (object obj in this.OtherWindows.DropDownItems)  
           {  
               if (obj.ToString() == windowname)  
               {  
                   this.OtherWindows.DropDownItems.Remove((ToolStripItem)obj);  
                   break;  
               }  
           }  
       }
代码段2:
Form2 f=new Form2();
f.FormClosed+=new FormClosedEventHandler(Form2_FormClosed);
f.Show(this);//or f.ShowDialog(this);
代码段3:
private void Form2_FormClosed(object sender, FormClosedEventArgs e) 
{  
   this.DelOtherWindow((object as Form).Text);  
}
------解决方案--------------------嘿嘿 是楼上的写法正确  
我那样多余了 直接绑定到FormClosed就可以了