当我从任务栏或通过Alt + Tab激活它们时,我正在尝试将两个表单放在前面。问题是如果第二个存在,我无法关闭主窗体:
这是我使用的代码
private void Haupt_Activated(object sender, EventArgs e)
{
cardLibrary.Focus(); //Focus the second form
this.Focus(); //refocus the first one
}
我在做什么?
编辑: 豪普特是主要形式。 CardLib在Haupt中是可变的 这就是CardLib的调用方式:
private void cMenuOpenLibrary_Click(object sender, EventArgs e)
{
if (!Config.libOpen)
{
if (cardLibrary == null) cardLibrary = new CardLib(this);
cardLibrary.Show();
cardLibrary.Left = this.Left - cardLibrary.Width - 5;
cardLibrary.Top = this.Top;
}
}
编辑2:讽刺我愚蠢。通过Haupt_FormClosed添加关闭CardLib修复它。
答案 0 :(得分:0)
如果您从
打电话给第二张表格Second.ShowDialog();
然后这将产生此问题,因为对话框保持焦点,直到它关闭
而不是
Second.ShowDialog();
使用
Second.Show();
答案 1 :(得分:0)
第二种形式的this.focus如何聚焦第一种形式???
this.Focus(); //refocus the first one