我在MDI表单上放了一个按钮,现在当我打开一个子表单时,按钮保持在顶部并分散了子表单,是否有办法解决它? 当我激活任何一个孩子时,我已经完成了向后发送按钮。但我想知道是否可以调用button1.BringToFront();
private void MDIParent1_MdiChildActivate(object sender, EventArgs e)
{
button1.SendToBack();
}
我试过了,但它不起作用。
private void MDIParent1_Enter(object sender, EventArgs e)
{
button1.BringToFront();
}
我认为它是.net的持久性错误,有很多帖子试图解决它,使用Dock与面板等,但只是按钮对接使应用程序工作空间更少。
答案 0 :(得分:0)
我找到了问题的答案!这是我实现它的方式,帖子here就是我所缺少的。
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 ();
}