在关闭非模态形式后,Word失去焦点(最小化)

时间:2014-01-22 08:03:38

标签: c# winforms ms-word vsto

我正在开发的Word加载项出现问题。

问题: 如果我打开名为Form1的非模态表单,并在此表单中按下一个按钮,打开另一个名为Form2的模式表单。现在我关闭了两个表单,但Word窗口正在失去焦点并最小化。

请注意,当我打开Form1并关闭它时,这没有发生

当我使用Form1.Show(IWin32Window);

打开非模态表单(让我们称之为Form1)时

通过此方法创建IWin32Window对象:

public static MyWin32Window getWordWindow()   
{            
    IntPtr wordWindow = NativeMethods.FindWindowW("OpusApp", Globals.ThisAddIn.Application.ActiveWindow.Caption + " - Microsoft Word");
    MyWin32Window myWin = new MyWin32Window(wordWindow);            
    return myWin;        
}

当我从Form1打开另一个表单时,问题出现 ,假设Form2已打开,但Form2是模态表单并打开:

Form2.ShowDialog();

它工作正常,但是当我关闭Form2然后关闭Form1时,Word窗口被最小化。我该如何防止这种行为?

我还尝试将Form1设置为Form2的所有者,如下所示:

Form2.ShowDialog(this);

但结果相同。

1 个答案:

答案 0 :(得分:0)

我发现我可以使用

解决此问题
Form.Show();

而不是ShowDialog()

相关问题