在Office外接程序C#中,是否可以选择仅在Office应用程序顶部打开窗体?

问题描述 投票:0回答:1

TopMost这不好,因为它位于计算机中所有应用程序的顶部。除了ShowDialog()方式之外,因为它锁定了应用程序。

c# winforms office-addins visio
1个回答
0
投票

您需要使用模式对话框,才能阻止主办公室应用程序。您还需要将Office应用程序设置为模式对话框的父窗口。

1)使用此答案中的WindowWrapper类。

2)假设您有权访问Office应用程序的Application对象。 App.Hwnd是主窗口的句柄。

3)代码:

        var someDialog = new Form1();
        someDialog.Show(new WindowWrapper(new IntPtr(App.Hwnd)));

4)记住将someDialog变量声明为类成员。

© www.soinside.com 2019 - 2024. All rights reserved.