Windows窗体应用程序上的Visio 2013预览绘图控件崩溃

时间:2012-10-05 03:23:25

标签: visual-studio vb6 visio

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

重现此问题的步骤。

  1. 打开Visual Studio 2012

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

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

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

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

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

  7. 双击Solution explorer中的Form1.cs编辑表单[Design]视图。

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

  9. 这是Visio 2013 Preview中的已知错误。

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

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

    有关正在发生的事情的任何想法?

3 个答案:

答案 0 :(得分: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中使用该控件(没有安装它来测试)。

答案 1 :(得分: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

答案 2 :(得分:0)

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