我有一个主窗体,然后打开一个childdialog(nr 1),然后打开另一个childdialog(nr 2)。
当我从另一个应用程序打开该主窗体时,焦点设置在最后一个子窗口(nr 2),当我按下回车时,焦点设置在主窗体上,我希望焦点继续在子窗口nr 1
要打开主窗体我使用Activate();
然后在OwnedForms中我有一系列的孩子。
Activate();
if(OwnedForms.Any())
{
OwnedForms.Last().Focus();
}
当我选择关闭具有焦点的表单时,焦点将转到主表单而不是OwnedForms数组中的下一个子表单(last -1)。
尝试带头和发送回来但没有任何成功。
答案 0 :(得分:0)
确保已设置表单的父级。
OwnedForms.Last().Parent = this;
此外,您可能希望在表单上查看.Show()vs .ShowDialog()。
如果您还没有这样做,似乎您可能更喜欢.ShowDialog()。