我做了个窗口, 其中有一块要放另一个窗口。
在VC中很好实现,把子窗口属性改成Child就行。然后把子窗口create出来,移动到指定位置就行了。
请问C#里如何实现呢?谢谢!

解决方案 »

  1.   

    this.AddOwnedForm(frm);            frm.Owner = this;
      

  2.   

    private void Open_WebBrowser_url(string title, string urlStr)
            {
                TabPage newpage1 = new TabPage(title);
                this.tabControl1.TabPages.Add(newpage1);
                WebBrowser webpage1 = new WebBrowser();
                webpage1.Parent = newpage1;
                webpage1.Dock = DockStyle.Fill;
                webpage1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webpage_DocumentComplete);
                // webpage1.GoHome();
                webpage1.Navigate(urlStr);
                
            }看代码吧.. :)
      

  3.   

    把主窗口的ismdicontainer改为true,子窗口的mdiparent设为主窗口,然后子窗口.show()
      

  4.   

    mdiparent怎么设阿?我看不到这个属性阿
      

  5.   

    选中当前主窗体,F4,在找其IsMdiContainer=true;
      

  6.   

    我能找到IsMdiContainer,也设为true了
    然后子窗口怎么设置呢?
      

  7.   

    Form2 fm2 = new Form2();
    fm2.TopLevel=false;
    panel1.Controls.Add(fm2);
    fm2.Show();
      

  8.   

    static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);            
                Form1 f1 = new Form1();
                Form2 f2 = new Form2();
                f2.TopLevel = false;
                f1.Controls.Add(f2);
                Application.Run(f2.Show());
              }
    为啥最后一句编译报错呢? 
    还有,我要实现的是f1窗口上半部分是f2的内容,而不是说多文档的那种窗口。
    到底如何做?请高手指点一二。
      

  9.   

    再请问,能否用Panel来实现呢?我在Panel里放入很多pictureBox.
    然后这个Panel也能支持滚动。可行么?
      

  10.   

    public Form1()
    {
    //
    // Windows 窗体设计器支持所必需的
    //
    InitializeComponent(); //下面这样设置既可,Form1是父窗口 Form2是子窗口  meary is right!
    Form2 vfm = new Form2();
    vfm.MdiParent = this;
    vfm.Show();
    }
      

  11.   

    Form1 中加上一个panel程序中
    Form2 fm2 = new Form2();
    fm2.TopLevel=false;
    panel1.Controls.Add(fm2);
    fm2.Show();panel上就会出现Form2了。
    ---------------------------------------------------
    如果你非得在Main中做,可以像这样Form1 fm1 = new Form1();
    Form2 fm2 = new Form2();
    fm2.TopLevel = false;
    fm1.panel1.Controls.Add(fm2);
    fm2.Show();
    Application.Run(fm1);