方法很多啊1、可以给Form2一个属性,指定它的父亲,如MyParentForm
这时候在xx里面:
public void xx()//按“添加”按钮是,显示form2
{
    form2.MyParentForm=this;
    form2.show();
}在form2的确定按钮事件里面执行MyParentForm.yy();2、这个方法我认为比较好,虽然跟上面的方法看起来是一回事,但是降低了耦合度。给Form2自定义事件处理。
public OnAddEventArgs:System.EventArgs
{
   public string m_strAdded;//这里假设你需要通知给Form1的内是字符串并且简化property为field,你可以自己修改
}//声明事件代理
public delegate OnAddEventHandler(object sender,OnAddEventArgs e);在Form2中声明事件:
public event OnAddEventHandler OnAdd;当Form2上完成按钮被按下时执行:
1、构造OnAddEventArgs
2、if (OnAdd!=null)
    OnAdd(this,....);在Form1中为Form2的OnAdd添加事件处理
form2.OnAdd+=new OnAddEventHandler(yy);注意yy的返回值和参数应当满足OnAddEventHandler的定义。

解决方案 »

  1.   

    请问有无内部类一说?
    class a
    {
    class b
    {
    }
    }
    c++中有吗?c#中有吗?跟平面类有什么区别?
      

  2.   

    用owner也可以亚,
    // 不好意思,用了楼上的代码:)
    public void xx()//按“添加”按钮是,显示form2
    {
       Form form2=new Form;
       form2.Owner=this;
    }
    在form2中,Form1 form1=(Form1)this.Owner
      

  3.   

    类的声明是可以嵌套的。包含在封闭类中的结果是使嵌套类获得一定级别的保护。除非使用 using语句,否则对嵌套类的所有引用都必须用包含类的名称限定。嵌套类的访问级别隐式地至少为封闭类的访问级别。即使嵌套类为 Public,如果封闭类是 internal,则只有程序集的成员能够访问嵌套类;如果封闭类是 Private,则除了封闭类本身外,所有其他调用方都不能使用嵌套类。 采用 Public 封闭类时,嵌套类的访问级别与非嵌套类的访问基本上遵循同样的规则。Friend 类可用于程序集的成员,但不可用于外部客户端。Private 类可用于封闭类、封闭类中的其他嵌套类以及嵌套在其他嵌套类中的任何类。 
      

  4.   

    转贴:
    回复人: acptvc(微软全球技术中心 VC技术支持) (  ) 信誉:94  2002-04-27 22:45:00  得分:0  
     
     
      感谢您使用微软产品。您可以通过设置并访问Form的Owner属性来达到这一目的,例如,您可以在创建一个窗体时指定Owner属性:Form frm = new Form();
    frm.Owner = this;
    frm.Show();然后在From3中可以通过下列语句访问Form1窗体:if(this.Owner != null)
    if(this.Owner.Owner != null)
    this.Owner.Owner.Text = "Hello";当然您也可以定义一个静态成员(相当于全局变量)来存储指向Form1的引用,这烟您就可以在任何地方通过访问这个静态成员来访问Form1。但前提是您的AppDomain中只有一个Form1的实例。-微软全球技术中心 VC开发支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。