一个mainForm 中有一 panle .另有FormA FormB现将 FormA 加载到 mainForm 的 panle 中如何。做到。单击 FormA 中的按钮 将FormA隐藏, 同时将FormB 加载到 mainForm 的 panle 中

解决方案 »

  1.   

    我觉得这样比较好.
    在FormA里
    先自定义一个委托.
    //用来向MainForm发送消息
    public delegate void FormAHideEventHandler(object sender,EventArgs e);
    //定义一个事件
    public event FormAHideEventHandler FormAHide;
    //FormA 里的btn
    btnHide_Click(object sender,eventargs e)
    {
        this.Hide();//隐藏自己
        FormAHide(this,EventArgs.Empty);//向MainForm发送消息
    }在MainForm 里
    定义两个变量
    private FormA frma=new FormA();//在MainForm 的构造函数里初始化也行(用frma作参数)
    private FormB frmb;
    frma.FormAHide += new FormA.FormAHideEventHandler(OnFormAHide);//写在MainForm的构造函数里private void OnFormAHide(object sender,EnventArgs.Empty)
    {
         frmb = new FormB();
         frmb.Show();
    }
      

  2.   

    private void OnFormAHide(object sender,EnventArgs.Empty)---错误提示:WinGUIMain.cs(826): 应输入标识符
      

  3.   

    hoverchang(江南笑客) 在帮帮我
      

  4.   

    请参考:http://blog.csdn.net/sswv/archive/2005/08/06/446914.aspx
      

  5.   

    为什么要把Form显示在Panel里呢?干吗不用UserControl?就是添加新项-用户控件。这样不是更好玩吗?
      

  6.   

    //WinForm嵌入panel
    Form2 form = new Form2();
    form.FormBorderStyle = FormBorderStyle.None;
    form.TopLevel = false;
    this.panel1.Controls.Add(form);
    form.Show();
      

  7.   

    如果使用UserControl,参考我的文章,
    http://blog.csdn.net/zhzuo/archive/2004/11/30/199599.aspx