private void NotifyEvent(enumContainerEventType eventType, object eventArg)
        {
            if (_containerEventHandlers.Count == 0)
            {
                return;
            }
            bool handled = false;

            for (int i = 0; i < _containerEventHandlers.Count; i++)
            {
                _containerEventHandlers[i].Handle(this, eventType, eventArg, ref handled);
                if (handled)
                {
                    break;
                }
            }
        }
Exemple #2
0
        public void Handle(object sender, enumContainerEventType eventType, object eventArg, ref bool isHandled)
        {
            isHandled = true;
            switch (eventType)
            {
            case enumContainerEventType.Click:
                Click(sender as IMapControl, eventArg as MouseEventArgs);
                break;

            case enumContainerEventType.MouseDown:
                MouseDown(sender as IMapControl, eventArg as MouseEventArgs);
                break;

            case enumContainerEventType.MouseMove:
                MouseMove(sender as IMapControl, eventArg as MouseEventArgs);
                break;

            case enumContainerEventType.MouseUp:
                MouseUp(sender as IMapControl, eventArg as MouseEventArgs);
                break;

            case enumContainerEventType.MouseWheel:
                MouseWheel(sender as IMapControl, eventArg as MouseEventArgs);
                break;

            case enumContainerEventType.MouseDoubleClick:
                MouseDoubleClick(sender as IMapControl, eventArg as MouseEventArgs);
                break;

            default:
            {
                isHandled = false;
                throw new NotSupportedException("暂不支持类型为\"" + eventType.ToString() + "\"的事件处理。");
            }
            }
        }