Как добавить пользовательский элемент управления в ТОП другого - PullRequest
6 голосов
/ 03 ноября 2010

Я использую 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 ]

16 голосов
/ 03 ноября 2010

Вы можете попробовать функцию управления 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();
}
2 голосов
/ 03 ноября 2010

Можете ли вы создать их во время разработки с требуемым z-порядком, а затем сделать их видимыми только во время выполнения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...