Я перемещаю макрос 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
Но это просто не показывало форму.Есть ли альтернатива, которую я мог бы использовать?