我在Form中定义了一个Panel,现在试图向Panel中添加另外一个Form,请教各位!

解决方案 »

  1.   

    不知道这样可以不:......
    // your defined form
    YourForm yourForm = new YourForm();
    ......
    // add your form to your panel
    yourPanel.Controls.Add(yourForm);
    ......
    不知道为什么非要在Panel中添加一个Form,
    感觉添加一个自定义的控件更好。
      

  2.   

    额~是这样的,
    或者说我不知道newPanel.Controls.Add(newForm)这个方法(惭愧ing).
    不过我注意到需要加一句"newForm.Visible = true",否则添加的Form看不见,比如一个Button_Click事件里好像没有反应.
    现在我遇到一个麻烦,想请教一下:
    我定义了一个主窗体:Form1,里面显然有一个Panel1.
    有两个等待添加进去的Form2,Form3.
    我知道可以在Form1里这样写:
    Form2 newForm2 = new Form2();
    ...
    Panel1.Controls.Add(newForm2);
    ...
    Panel1.Controls.Clear();
    From3 newForm3 = new Form3();
    Panel1.Controls.Add(newForm3);
    但是在Form2里写的话,
    我现在添加了newForm2了,假定我采用一个Button_Click,怎么让Panel1添加newForm3呢?
    return一个值?
    不知道怎么写~~~
      

  3.   

    因为我现在上网的机器没有装VStuio,所以没法马上试,
    只能说一下自己的想法。
    你说的是不是在Form2里面有一个按钮,你想点击这个按钮之后把Form2换成Form3?
    如果我没理解错的话,不知道这样可不可以:在Form2的Button_Click事件中,
    1. 使Form2不显示,创建并显示Form3,然后关掉Form2
    或者 2. 取得Form2的父容器,即Panel1,然后进行某些操作??有可能想法很愚蠢仅供参考
      

  4.   

    如果只有两个窗体的话,可以这样,
    如果每一次则new新窗体一,否则的话
    youform1.show();
    有窗体二的话就youform2.hide();
    如果每一次则new窗体二,否则的话
    youform2.show();
    有窗体一的话就youform1.hide();兄弟们,我想知道如何在splitcontainer1.panel.controls中查看from是否已加载?
      

  5.   

    if object == null 就是沒有加載