예제 #1
0
        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);
                }
            }
        }