public PathMaker() { InitializeComponent(); // set up the application event handlers - these only need to be done once eventHandler = new EventSink(); visioControl.Document.Application.EventList.AddAdvise((short)VisEventCodes.visEvtApp + (short)VisEventCodes.visEvtMarker, eventHandler, "", ""); eventHandler.onApplicationMarker += new EventSink.VisioApplicationEventHandler(OnApplicationMarker); visioControl.Document.Application.EventList.AddAdvise((short)VisEventCodes.visEvtCodeExitScope, eventHandler, "", ""); eventHandler.onExitScope += new EventSink.VisioScopeEventHandler(OnExitScope); visioControl.Document.Application.EventList.AddAdvise((short)VisEventCodes.visEvtCodeEnterScope, eventHandler, "", ""); pathRunnerBackgroundWorker = new PathRunnerBackgroundWorker(); pathRunnerBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(OnPathRunnerBackgroundWorkerCompleted); pathRunnerBackgroundWorker.WorkerSupportsCancellation = true; }