Я написал Макрос , который запускает диалоговое окно, в котором пользователь выбирает значение из поля со списком. К сожалению, отображается диалоговое окно, и я получаю песочные часы от 1 до 20 секунд.
Я нашел несколько рабочих приемов, которые, кажется, помогают:
- Быстрый CTRL-Alt-Del с последующим Escape.
- Нажатие на анимацию вращающегося макроса на панели задач.
- Свернуть и развернуть диалоговое окно на панели задач.
Однако это становится настоящей болью, кто-нибудь знает, что происходит, и как я могу предотвратить зависание?
Код, который я использую для запуска диалога:
Dim winptr As New WinWrapper()
frm.ShowDialog(winptr)
и
'' This class is used to set the proper parent to any UI that you may display from within a macro.
Public Class WinWrapper
Implements System.Windows.Forms.IWin32Window
Overridable ReadOnly Property Handle() As System.IntPtr Implements System.Windows.Forms.IWin32Window.Handle
Get
Dim iptr As New System.IntPtr(DTE.MainWindow.HWnd)
Return iptr
End Get
End Property
End Class