我有一张放置Visio Drawing Control
的表单。我正在使用Visio Drawing Control 11.0
(我的电脑上安装了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
属性设置为文档的文件名来 NOT 打开文档时,应用程序工作正常,但我需要来打开文档并编辑它使用绘图控件。
有没有办法解决这个问题?
答案 0 :(得分:1)
您可能需要等到文档完全加载。
为this.axDrawingControl1.DocumentOpened添加一个事件处理程序,并将绘图代码移动到该处理程序。