如何在另一个的TOP上添加自定义控件

时间:2010-11-03 19:18:24

标签: c# visual-studio winforms

我正在使用winForm。我有2个动态添加的自定义控件。 第一个是在表格的开头添加的。当用户单击按钮时添加第二个。这里没什么了不起的。问题是,当我实例化并添加第二个控件时,它不会显示在另一个控件之上,而是显示在第二个控件之上。

必须有一种方法来添加控件,使其完全可见(在其余部分之上)。 这是我如何创建第二个控件(与第一个控件相同)。我尝试使用show / hide方法,但这不会改变堆栈顺序。

    private void lbRappel_Click(object sender, EventArgs e)
    {
        NoteCallBack noteCallBack = new NoteCallBack("test");
        this.Controls.Add(noteCallBack);
        noteCallBack.Location = new Point(200, 250);
    }

非常感谢您的帮助。

马修

2 个答案:

答案 0 :(得分:16)

您可以尝试BringToFront控制功能:

private void lbRappel_Click(object sender, EventArgs e)
{
    NoteCallBack noteCallBack = new NoteCallBack("test");
    this.Controls.Add(noteCallBack);
    noteCallBack.Location = new Point(200, 250);
    noteCallBack.BringToFront();
}

答案 1 :(得分:2)

您可以在设计时使用所需的z顺序创建它们,然后只在运行时使它们可见吗?