表单userControl面板重叠

时间:2013-11-21 12:03:05

标签: c# winforms

我有两种形式 - 形成“主”并形成“警告”。

我已将Form“alert”更改为userControl,

以下是“main”形式的代码。

alert = new AlertForm();
alert.TopLevel = false;
alert.Visible = true;
this.pnlData.Controls.Add(alert); 
alert.Canceled += new EventHandler<EventArgs>(buttonCancel_Click);
alert.Show();

pnlData是“main”形式的面板

当我尝试运行时,userControl像这样重叠,

Image1

如何解决这个问题? 如何将userControl放在pnlData中的标签和文本框前面?

1 个答案:

答案 0 :(得分:1)

我可以重现你的问题。这是摆脱它的代码:

public Form1() // constructor
{
    InitializeComponent();

    Form f = new Form2();
    f.TopLevel = false;
    panel1.Controls.Add(f);
    f.BringToFront();
    // Edit: if you want to change Top - do similar thing to Y
    f.Location = new Point((int)(panel1.Size.Width / 2 - f.Size.Width / 2), 0);
    f.Show();

}

作品完美 - 形式在面板内移动