1

打开包含 Visio 2013 预览绘图控件的窗体时,Visual Studio 2012 崩溃。(Microsoft Visio 15.0 绘图控件 - Com 组件)。

重现此问题的步骤。

  1. 打开 Visual Studio 2012

  2. 创建一个新的 Windows 窗体应用程序 (C#)

  3. 将 COM Component Microsoft Visio 15.0 绘图控件添加到工具箱。

  4. 将 Visio 绘图控件放在 Form2.cs[Design] 上。

  5. 保存所有文件、项目和解决方案。

  6. 在 Visual Studio 2012 IDE 中关闭 Form1.cs [Design]。

  7. 在解决方案资源管理器中双击 Form1.cs 以编辑表单 [设计] 视图。

  8. Visual Studio 应用程序此时崩溃。

这是 Visio 2013 Preview 中的一个已知错误。

在 VB6 应用程序中使用 Visio 2013 绘图控件也会产生类似的结果,并显示 &H80004005 (-2147467259) 错误消息。

我们的产品在 VB6 应用程序中使用 Visio 2013 控件。这也是 Visual Studio 2012 中的一个问题。

关于发生了什么的任何想法?

4

3 回答 3

2

这确实是一个已知的错误:请参阅http://connect.microsoft.com/VisualStudio/feedback/details/766229/visio-2013-preview-drawing-control-on-a-windows-forms-application-crashes

到目前为止,我能想到的最好的解决方法是仅在代码中实例化绘图控件。换句话说。不要将它从 IDE 的工具箱中拖到您的表单(等)上,而只能从代码中创建和实例化控件。这样,控件就不会出现在 GUI 表单编辑器中,也不会冻结您的 Visual Studio 实例。

如果您不确定如何执行此操作,您可以随时将其临时拖到表单中,并从您的 FormName.Designer.cs(或 .vb)文件中提取控件的相关代码。

请注意,我的经验仅适用于 VS2012。我不确定您是否甚至可以使用 VB6 中的控件(没有安装它来测试)。

于 2012-10-18T14:22:23.050 回答
0
 Option Explicit

Private WithEvents moo As Visocxctl.DrawingControl

Private Sub Command1_Click()
    Set moo = Form1.Controls.Add("VisOcx.DrawingControl.1", "VisioRuntime")
    moo.Left = 0
    moo.Top = 0
    moo.Visible = True


End Sub
于 2012-10-26T02:18:07.397 回答
0

试试这个解决方法: Visio Drawing Control Fails in Visual Studio 2012。用 Visio 2013 的 Office15 替换 Office14。我可以在设计时成功删除控件并运行示例 Windows 窗体应用程序。当使用任何版本的 Visio 绘图控件时,这是 VS2012 中的一个已知错误。

于 2012-11-28T19:14:07.230 回答