我写了一个Macro,它会启动一个对话框,用户从组合框中选择一个值。不幸的是,对话框显示,我得到一个1到20秒的沙漏。
我发现有一些似乎有帮助的工作方式:
然而,这真的是一个真正的痛苦,是否有人知道是什么导致这种情况以及如何阻止悬挂?
我用来启动对话框的代码是
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
答案 0 :(得分:1)
每当我的宏调用MsgBox函数时,我都会得到类似的挂起。 在重新运行宏几次之后,似乎挂断消失了(这可能暗示了bug是什么)但这也不是一个可行的解决方案。
答案 1 :(得分:0)
如果你安装了SP1,有几个错误修复,包括修复VS 2010挂起和Visual Studio“虚拟内存错误”
答案 2 :(得分:0)
我认为Visual Studios 2010宏不支持Winforms。
http://msdn.microsoft.com/en-us/library/bxk3af4y.aspx
VS Macros目前不支持Windows窗体。
答案 3 :(得分:0)
出于某种原因关闭VS宏编辑器主要是为我纠正问题。我仍然看到延迟2到3秒。