Form_Activated正在搞乱关闭程序

时间:2012-02-21 12:31:24

标签: c#

当我从任务栏或通过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修复它。

2 个答案:

答案 0 :(得分:0)

如果您从

打电话给第二张表格
Second.ShowDialog();

然后这将产生此问题,因为对话框保持焦点,直到它关闭

而不是

Second.ShowDialog();

使用

Second.Show();

答案 1 :(得分:0)

第二种形式的this.focus如何聚焦第一种形式???

  this.Focus(); //refocus the first one