可以在frmcxb的构造函数中把this传入,或使用属性传入。如:private Form m_owner;
public frmcxb(Form frmowner)
{
    m_owner=frmowner;
}protected override void OnClick(EventArgs e)
{
base.OnClick(e);
if(this.m_owner!=null)
{
this.m_owner.Show();
}
}

解决方案 »

  1.   

    定义一个public Form变量,构造后把frmzcx对象传过去,这样也可以。
      

  2.   

     public   partial   class   frmcxb   :   Form 
    show_MainForm()
    {
    frmzcx fz=(frmzcx)Application.OpenForms["frmzcx"];
    fz.Show();}
    OpenForms参数为int或者string
      

  3.   

    在副窗体(frmcxb)需要显示主窗体时, 建议使用:if (Application.OpenForms.Count > 0)
    {
        if (Application.OpenForms[0] != null) //0 表示 Application.Run(new frmzcx()); 打开的主窗体...
        {
            Application.OpenForms[0].Show();
        }
    }^o^
      

  4.   

    当然可以用五楼的 Application.OpenForms["frmzcx"] 不过个人推荐使用数字索引较好...