Проблема с элементами управления в форме MDI - PullRequest
1 голос
/ 13 сентября 2010

Я поместил кнопку в форму MDI, теперь, когда я открываю дочернюю форму, кнопка остается сверху и отвлекает дочернюю форму, есть ли способ ее решить? Я сделал следующее, чтобы отправить кнопку обратно, когда активирован какой-либо ребенок. Но мне интересно вызвать button1.BringToFront ();

private void MDIParent1_MdiChildActivate(object sender, EventArgs e)
{
    button1.SendToBack();
}

Я пытался следовать, но это не работает.

private void MDIParent1_Enter(object sender, EventArgs e)
{
    button1.BringToFront();
}

Я думаю, что это постоянная ошибка .net, есть много постов, пытающихся ее решить, используя док с панелью и т. Д., Но стыковка только для кнопки уменьшает рабочее пространство приложения.

1 Ответ

0 голосов
/ 14 сентября 2010

Я нашел ответ на свой вопрос!вот как я это реализовал, пост здесь был тем, чего мне не хватало.

public MDIParent1()
        {
            InitializeComponent();
            foreach (var ctl in this.Controls)
            {
                if (ctl is MdiClient)
                {
                    (ctl as MdiClient).GotFocus  += Client_gotfocus;
                    (ctl as MdiClient).LostFocus  += Client_lostfocus;
                    break;
                }
            }

        }
        private void Client_gotfocus(object sender, EventArgs e)
        {
            button1.BringToFront();
        }
        private void Client_lostfocus(object sender, EventArgs e)
        {
            button1.SendToBack ();
        }
...