使用该Focus()
方法时,目标窗体获得焦点但也被带到其他窗体的前面。
有没有办法避免这种 z 顺序修改?
这是一个简短的例子:
class MyForm : Form
{
static void Main(string[] args)
{
MyForm f1 = new MyForm()
{
Text = "f1"
};
f1.Show();
MyForm f2 = new MyForm()
{
Text = "f2"
};
f2.Show();
Button b1 = new Button();
b1.Click += (sender, e) => f2.Focus();
f1.Controls.Add(b1);
Button b2 = new Button();
b2.Click += (sender, e) => f1.Focus();
f2.Controls.Add(b2);
Application.Run(f1);
}
}
单击 中的按钮时f1
,f2
将获得焦点但也会出现在前面f1
(这是我想避免的事情)。