public void LeaveEvent(string objectKey, string eventName, object executer) { if (_ComponentDebugger.Stopping) { return; } EventAction ea = _ComponentDebugger.RootClass.GetEventHandler(eventName, objectKey); if (ea != null) { int threadId = System.Threading.Thread.CurrentThread.ManagedThreadId; EnumRunStatus status = _ComponentDebugger.GetRunStatus(threadId); if ((status != EnumRunStatus.Stop && status != EnumRunStatus.Run) || ea.BreakAfterExecute) { _ComponentDebugger.SetSelectedObject(executer); _ComponentDebugger.SetAtBreak(threadId, true); _debugUI.ShowBreakPoint(_ComponentDebugger); _ComponentDebugger.ShowEventBreakPointInTreeView(objectKey, eventName, executer, false); waitForBreakPoint(threadId); } } _ComponentDebugger.ClearBreakpointDisplay(); _ComponentDebugger.LeaveEvent(); FormDebugger f = _ComponentDebugger.FindForm() as FormDebugger; if (f != null) { f.setButtonImages(); } }