2012-02-04 73 views
2

我想使用用户控件加载表单中的多个表单,并且我尝试了下面的代码,但点击button1后似乎没有发生任何事情。任何人都知道什么是错的?使用多种形式

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     UserControl1 control = new UserControl1(); 
     control.Dock = DockStyle.Fill; 
     this.Controls.Add(control); 
    } 
} 
+0

你的form1上还有其他控件吗? – Hans 2012-02-04 12:55:10

+0

没有其他控件 – aurelio 2012-02-04 13:05:52

+1

确保点击按钮的单击事件已连线以运行该代码。 – LarsTech 2012-02-04 13:21:05

回答

2

不过的UserControl1的内容似乎是重叠的,我仍然可以看到Form1中

的形式事宜控件的Z顺序的内容。使用Controls.Add(),控件在订单的底部结束,现有控件与其重叠。你这样修复:

this.Controls.Add(control); 
    control.BringToFront(); 

或者使用Controls.SetChildIndex()在控件之间插入它。

0

可能您需要更改Dock属性的值。当它是DockStyle.Fill - 它只会占用整个区域。尝试将其更改为其他值,具体取决于您需要的布局。