C# 复印及;粘贴在VBE开发环境的外接程序的窗体对话框中不起作用

C# 复印及;粘贴在VBE开发环境的外接程序的窗体对话框中不起作用,c#,forms,vbe,C#,Forms,Vbe,我为VBE开发环境编写了一个外接程序,如下所述: 在那里,我创建了一个settingsDialog(这是一个带有一些文本框的常见表单对话框),我按如下方式打开它: var dlg = new SettingsDlg(m_Settings); dlg.StartPosition = FormStartPosition.CenterParent; dlg.Show(new HwndWrapper(m_VBE.MainWindow.HWnd)); 但内部设置LG复制粘贴不起作用。当我尝试将文本发布到

我为VBE开发环境编写了一个外接程序,如下所述:

在那里,我创建了一个settingsDialog(这是一个带有一些文本框的常见表单对话框),我按如下方式打开它:

var dlg = new SettingsDlg(m_Settings);
dlg.StartPosition = FormStartPosition.CenterParent;
dlg.Show(new HwndWrapper(m_VBE.MainWindow.HWnd));

但内部设置LG复制粘贴不起作用。当我尝试将文本发布到文本框中时,什么也没有发生。

我通过在额外的线程中启动表单来修复此问题。像这样:

        var thread = new Thread(() =>
        {
            var dlg = new SettingsDlg(m_Settings);
            dlg.StartPosition = FormStartPosition.CenterParent;
            dlg.Show(new HwndWrapper(m_VBE.MainWindow.HWnd));
            Dispatcher.Run();
        });

        thread.SetApartmentState(ApartmentState.STA);
        thread.Start();