public void EnterEvent(string objectKey, string eventName, object executer) { if (_ComponentDebugger.Stopping) { return; } _ComponentDebugger.EnterEvent(); _ComponentDebugger.AddComponent(objectKey, executer); 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.BreakBeforeExecute) { _ComponentDebugger.SetSelectedObject(executer); _ComponentDebugger.SetAtBreak(threadId, true); _debugUI.ShowBreakPoint(_ComponentDebugger); _ComponentDebugger.ShowEventBreakPointInTreeView(objectKey, eventName, executer, true); waitForBreakPoint(threadId); } } }