Альтернатива ShowDialog, которая не блокирует взаимодействие с родителями - PullRequest
0 голосов
/ 11 апреля 2019

Я перемещаю макрос 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

Но это просто не показывало форму.Есть ли альтернатива, которую я мог бы использовать?

...