复制粘贴在 VBE 开发环境的加载项的表单对话框中不起作用
Copy&Paste does not work in Form-Dialog of an Add-In for the VBE-Development enviroment
我为 VBE 开发环境编写了一个插件,如下所述:
我在那里创建了一个设置对话框(这是一个带有一些文本框的常见表单对话框),我这样打开它:
var dlg = new SettingsDlg(m_Settings);
dlg.StartPosition = FormStartPosition.CenterParent;
dlg.Show(new HwndWrapper(m_VBE.MainWindow.HWnd));
但在 SettingsDlg 中,复制和粘贴不起作用。当我尝试 post 将文本输入文本框时,没有任何反应。
我通过在额外线程中启动表单来解决问题。像这样:
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();
我为 VBE 开发环境编写了一个插件,如下所述:
我在那里创建了一个设置对话框(这是一个带有一些文本框的常见表单对话框),我这样打开它:
var dlg = new SettingsDlg(m_Settings);
dlg.StartPosition = FormStartPosition.CenterParent;
dlg.Show(new HwndWrapper(m_VBE.MainWindow.HWnd));
但在 SettingsDlg 中,复制和粘贴不起作用。当我尝试 post 将文本输入文本框时,没有任何反应。
我通过在额外线程中启动表单来解决问题。像这样:
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();