0
我有一個插件,顯示一個工具窗口作爲showdialog從一個功能區上的按鈕。這個模型版本工作正常。現在我需要允許與表單下的電子表格進行交互。我曾嘗試過:form.show無模式從ribbonbar
spec.Show(((IWin32Window)Globals.myAddin.Application.ActiveWindow));
而且我收到「可疑的演員」錯誤。當然,'這'失敗了,因爲工具欄不是'IWin32Window'的表格,所以我希望它的功能類似於內置的查找窗口,您可以在其中調用它並仍然與底層電子表格進行交互。表格很簡單:
public partial class Spec : Form
顯然,我錯過了一些東西。 TIA
添加此基礎上Slaks評論:使用app.Hwnd或Process.GetCurrentProcess()MainWindowHandle立即形式自敗時
public class DialogService
{
public void ShowDialog(Form dialog)
{
NativeWindow mainWindow = new NativeWindow();
//mainWindow.AssignHandle(Process.GetCurrentProcess().MainWindowHandle);
Application app = new Application();
mainWindow.AssignHandle(new IntPtr(app.Hwnd));
dialog.Show(mainWindow);
mainWindow.ReleaseHandle();
}
}
問題。也許我已經過分複雜了。有沒有比我在這裏做的更好的方法?
我添加了我對原始文章所做的代碼。 –