1

我有一个表格,Visio Drawing Control上面有一个。我正在使用Visio Drawing Control 11.0(我的 PC 上安装了 Visio 2003)。在表单加载事件中,我执行以下操作:

private void Form1_Load(object sender, EventArgs e)
{
    this.axDrawingControl1.Src = @"D:\visio test\drawing.vsd";
    Document currentStencil = this.axDrawingControl1.Document.Application.Documents.OpenEx(@"Basic_U.vss", (short)VisOpenSaveArgs.visOpenDocked);
    Window stencilWindow = this.axDrawingControl1.Document.OpenStencilWindow();
}

当我运行应用程序时,我向文档添加了一个形状,然后应用程序崩溃并AccessViolationException.显示错误消息Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
但是,当我没有通过将属性设置为文档的文件名来打开文档时DrawingControl.Src,应用程序工作正常,但我需要打开一个文档并使用绘图控件对其进行编辑。

有没有办法解决这个问题?

4

1 回答 1

1

您可能需要等到文档完全加载。

为 this.axDrawingControl1.DocumentOpened 添加一个事件处理程序并将您的绘图代码移动到该处理程序。

于 2013-05-10T17:31:56.903 回答