1

我在 MDI 窗体上放置了一个按钮,现在当我打开一个子窗体时,按钮仍然在顶部并分散子窗体的注意力,有没有办法解决它?当任何孩子被激活时,我已经完成了以下操作以将按钮发回。但我想调用 button1.BringToFront();

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

我尝试了以下但它不起作用。

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

我认为它是 .net 的一个持久错误,有很多帖子试图解决它,使用带有面板的停靠栏等,但停靠只是为了一个按钮会使应用程序的工作空间更少。

4

1 回答 1

0

我找到了我的问题的答案!这是我实现它的方式,这里的帖子是我所缺少的。

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 ();
        }
于 2010-09-14T04:53:16.480 回答