在我的Visio加载项中,我为’ShapeAdded’设置了一个处理程序。这会为添加的前2个或3个形状触发,但之后只会停止射击。
这是我的加载项的基本概述……
我认为这里的问题是你没有保留 doc 范围内的对象和Visio将停止报告没有引用的事件。
doc
您可以按如下方式添加字段(或属性),然后应维护引用和关联事件:
public partial class ThisAddIn { private Visio.Document _targetDoc = null; private void ThisAddIn_Startup(object sender, System.EventArgs e) { Application.MarkerEvent += Application_MarkerEvent; } public void SetDocEvents() { _targetDoc = Globals.ThisAddIn.Application.ActiveDocument; // set event handler try { _targetDoc.ShapeAdded += onShapeAdded; } catch (Exception err) { System.Diagnostics.Debug.WriteLine(err.Message); throw; } }