我正在将Outlook VBA宏移到VSTO,其中一部分涉及显示UserForm中间执行,以及用户可能需要从Outlook复制/粘贴的各种输入。
在VBA中可以通过以下方式实现:
[...]
UserForm.Show vbModeless
Do Until UserForm.Visible = False
DoEvents
Loop
[...]
在VB中,我有:
Dim DealIDForm As New DealIdent 'form class
[...] set up form [...]
DealIDForm.ShowDialog()
[...] process input
但这会禁用与Outlook的交互,因此不理想
我尝试过:
Dim thread As New Thread(Sub()
DealIDForm.Show()
End Sub)
While DealIDForm.DialogResult = Windows.Forms.DialogResult.None 'not yet set
Thread.Sleep(TimeSpan.FromMilliseconds(5))
End While
但是那只是没有显示表格。我可以使用替代方法吗?