Example #1
0
		/// <summary>
		/// Recalcualtes the size of the container. Assumes that DisplayRectangle.Location is set to the upper left location of this container.
		/// </summary>
		public override void RecalcSize()
		{
			if(this.SuspendLayout)
				return;

			if(this.SubItems.Count==0)
			{
				if(this.DesignMode && !this.SystemContainer)
				{
					m_Rect.Size=m_EmptyDesignTimeSize;
					if(m_LayoutOrientation==eOrientation.Horizontal)
						m_Rect.Width+=12;
					else
						m_Rect.Height+=12;
				}
				else
				{
					m_Rect=Rectangle.Empty;
				}
				return;
			}
			
			IContentLayout layout=this.GetContentLayout();
			BlockLayoutManager blockLayout=this.GetBlockLayoutManager();
			BaseItem[] elements=new BaseItem[this.SubItems.Count];
			this.SubItems.CopyTo(elements,0);
			if(m_Rect.Width==0)
				m_Rect.Width=16;
			if(m_Rect.Height==0)
				m_Rect.Height=16;
			m_Rect=layout.Layout(m_Rect,elements,blockLayout);
			base.RecalcSize();
		}
Example #2
0
		protected override void CopyToItem(BaseItem copy)
		{
			ControlContainerItem objCopy=copy as ControlContainerItem;
			base.CopyToItem(objCopy);
			objCopy.ContainerLoadControl=this.ContainerLoadControl;
			objCopy.InitControl();
		}
Example #3
0
		public int Add(BaseItem item)
		{
			item.SetOwner(m_Owner);
			item.Visible=false;
			item.Displayed=false;
			return List.Add(item);
		}
Example #4
0
        private void FrmSymbolStyle_Load(object sender, EventArgs e)
        {
            //遍历文件
            DirectoryInfo theFolder = new DirectoryInfo(ClsGDBDataCommon.GetParentPathofExe() + @"Resource\Style\");

            FileInfo[] fileInfo = theFolder.GetFiles();
            //样式数量
            int StyleNumber = 0;

            foreach (FileInfo NextFile in fileInfo)  //遍历文件获取数量
            {
                StyleNumber++;
            }
            DevComponents.DotNetBar.BaseItem[] BaseItem = new DevComponents.DotNetBar.BaseItem[StyleNumber];
            int N = 0;

            foreach (FileInfo NextFile in fileInfo)  //遍历文件加载名称
            {
                DevComponents.DotNetBar.CheckBoxItem CheckBox = new DevComponents.DotNetBar.CheckBoxItem();
                CheckBox.Name = NextFile.Name;
                CheckBox.Text = NextFile.Name;
                for (int i = 0; i < SelectStylePath.Length; i++)
                {
                    string FileName = System.IO.Path.GetFileName(SelectStylePath[i]);
                    if (FileName == CheckBox.Text && FileName != null)
                    {
                        CheckBox.Checked = true;
                    }
                }
                BaseItem[N] = CheckBox;
                N++;
            }
            this.itemPanelStyleList.Items.AddRange(BaseItem);
            this.itemPanelStyleList.Refresh();
        }
Example #5
0
        /// <summary>
        /// Copies the ProgressBarItem specific properties to new instance of the item.
        /// </summary>
        /// <param name="copy">New ProgressBarItem instance.</param>
        protected override void CopyToItem(BaseItem copy)
        {
            CircularProgressItem objCopy = copy as CircularProgressItem;
            base.CopyToItem(objCopy);

            
        }
Example #6
0
		public static ItemContainer CreateItemContainer(IDesignerServices designer, BaseItem parent, eOrientation containerOrientation)
		{
			IDesignerHost dh=designer.GetService(typeof(IDesignerHost)) as IDesignerHost;
			IComponentChangeService cc=designer.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
			
			if(dh==null || parent==null || cc==null)
				return null;

			ItemContainer c=null;

			DesignerTransaction trans=dh.CreateTransaction("New DotNetBar Item Container");
			try
			{
				c=dh.CreateComponent(typeof(ItemContainer)) as ItemContainer;
				TypeDescriptor.GetProperties(c)["LayoutOrientation"].SetValue(c,containerOrientation);
				cc.OnComponentChanging(parent,TypeDescriptor.GetProperties(c)["SubItems"]);
				parent.SubItems.Add(c);
				cc.OnComponentChanged(parent,TypeDescriptor.GetProperties(c)["SubItems"],null,null);
			}
			finally
			{
				if(!trans.Canceled)
					trans.Commit();
			}

			return c;
        }
Example #7
0
 private void Escaneo_Load(object sender, EventArgs e)
 {
     try
     {
         if (devices.Count != 0)
         {
             DevComponents.DotNetBar.BaseItem[] botones = new DevComponents.DotNetBar.BaseItem[devices.Count];
             int i = 0;
             foreach (string device in devices)
             {
                 botones[i]        = new DevComponents.DotNetBar.ButtonItem();
                 botones[i].Text   = device.Split('|')[0];
                 botones[i].Click += new System.EventHandler(this.seleccionarEscaner);
                 i++;
             }
             btnEscaners.SubItems.AddRange(botones);
         }
         else
         {
             btnEscaners.SubItems.Add(new DevComponents.DotNetBar.ButtonItem("btnConectados", "No hay escaners conectados"));
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 //更新格网列表
 private void UpdateGridsListBox()
 {
     try
     {
         if (MapGrids != null)
         {
             if (itemPanelGrids.Items.Count == 0)
             {
                 DevComponents.DotNetBar.BaseItem[] BaseItem = new DevComponents.DotNetBar.BaseItem[MapGrids.MapGridCount];
                 for (int i = 0; i < MapGrids.MapGridCount; i++)
                 {
                     DevComponents.DotNetBar.CheckBoxItem CheckBox = new DevComponents.DotNetBar.CheckBoxItem();
                     CheckBox.Name = MapGrids.get_MapGrid(i).Name;
                     CheckBox.Text = MapGrids.get_MapGrid(i).Name;
                     if (MapGrids.get_MapGrid(i).Visible == true)
                     {
                         CheckBox.Checked = true;
                     }
                     else
                     {
                         CheckBox.Checked = false;
                     }
                     //MapGrids.get_MapGrid(i).Visible = false;
                     BaseItem[i] = CheckBox;
                 }
                 this.itemPanelGrids.Items.AddRange(BaseItem);
                 this.itemPanelGrids.Refresh();
             }
         }
     }
     catch (System.Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Example #9
0
		protected override void CopyToItem(BaseItem copy)
		{
            ColorItem ci = copy as ColorItem;
			base.CopyToItem(ci);
            ci.DesiredSize = this.DesiredSize;
            ci.Color = this.Color;
            ci.Border = this.Border;
		}
Example #10
0
        public override void RecordSetting(BaseItem item)
        {
            if (this.SettingsRecorded)
                return;
            
            ItemContainer cont = item as ItemContainer;
            m_MultiLine = cont.MultiLine;
            m_LayoutOrientation = cont.LayoutOrientation;

            base.RecordSetting(item);
        }
Example #11
0
		protected override void CopyToItem(BaseItem copy)
		{
			DockContainerItem objCopy=copy as DockContainerItem;
			base.CopyToItem(objCopy);
			objCopy.SetImageIndex(m_ImageIndex);
			if(m_Icon!=null)
				objCopy.Icon=m_Icon.Clone() as Icon;
			if(objCopy.Image!=null)
				objCopy.Image=m_Image.Clone() as Image;
			objCopy.ContainerLoadControl=this.ContainerLoadControl;
			objCopy.InitControl();
		}
Example #12
0
 /// <summary>
 /// 加载子菜单
 /// </summary>
 /// <param name="menuId">父菜单Id</param>
 /// <param name="patientItem">父菜单控件</param>
 /// <param name="menuData">菜单数据</param>
 private void AddSubMenu(int menuId, BaseItem patientItem, List<BaseMenu> allmenus)
 {
     List<BaseMenu> mainMenu = allmenus.FindAll(x => x.PMenuId == menuId).OrderBy(x => x.SortId).ToList();
     foreach (BaseMenu menu in mainMenu)
     {
         AddToolMenu(menu);
         BaseItem bottonItem = new ButtonItem(menu.MenuId.ToString(), menu.Name);
         bottonItem.Tag = menu;
         AddSubMenu(menu.MenuId, bottonItem, allmenus);
         patientItem.SubItems.Add(bottonItem);
     }
 }
Example #13
0
 /// <summary>
 /// Initializes a new instance of the BaseItemController class.
 /// </summary>
 /// <param name="item"></param>
 /// <param name="parentControl"></param>
 public BaseItemController(BaseItem item, Control parentControl)
 {
     _Item = item;
     _ParentControl = parentControl;
     _ParentControl.MouseDown += new MouseEventHandler(ParentControlMouseDown);
     _ParentControl.MouseEnter += new EventHandler(ParentControlMouseEnter);
     _ParentControl.MouseMove += new MouseEventHandler(ParentControlMouseMove);
     _ParentControl.MouseUp += new MouseEventHandler(ParentControlMouseUp);
     _ParentControl.MouseLeave += new EventHandler(ParentControlMouseLeave);
     _ParentControl.Paint += new PaintEventHandler(ParentControlPaint);
     _Item.ContainerControl = _ParentControl;
 }
Example #14
0
		/// <summary>
		/// Copies the ButtonItem specific properties to new instance of the item.
		/// </summary>
		/// <param name="copy">New ButtonItem instance.</param>
        protected override void CopyToItem(BaseItem instanceCopy)
        {
            LogItem copy = instanceCopy as LogItem;
            base.CopyToItem(instanceCopy);

            copy.BackColor = this.BackColor;
            copy.Created = this.Created;
            copy.HeaderTextColor = this.HeaderTextColor;
            if (this.Image != null)
                copy.Image = (Image) this.Image.Clone();
            copy.ImagePosition = this.ImagePosition;
            copy.SourceName = this.SourceName;
            copy.TextColor = this.TextColor;
        }
Example #15
0
        public override void RecordSetting(BaseItem item)
        {
            if (this.SettingsRecorded)
                return;
            
            ButtonItem button = item as ButtonItem;
            m_ButtonStyle = button.ButtonStyle;
            m_ImagePosition = button.ImagePosition;
            m_ImageFixedSize = button.ImageFixedSize;
            if (button.TextMarkupBody != null && button.TextMarkupBody.HasExpandElement)
                m_Text = button.Text;

            base.RecordSetting(item);
        }
Example #16
0
		protected internal override void OnItemAdded(BaseItem objItem)
		{
			base.OnItemAdded(objItem);
			ImageItem objImageItem=objItem as ImageItem;
			if(objImageItem!=null)
			{
                Size newSize = m_SubItemsImageSize;
				if(objImageItem.ImageSize.Width>m_SubItemsImageSize.Width)
                    newSize.Width = objImageItem.ImageSize.Width;
				if(objImageItem.ImageSize.Height>m_SubItemsImageSize.Height)
                    newSize.Height = objImageItem.ImageSize.Height;
                this.SubItemsImageSize = newSize;
			}
		}
Example #17
0
        /// <summary>
        /// Copies the RadialMenuItem specific properties to new instance of the item.
        /// </summary>
        /// <param name="copy">New RadialMenuItem instance.</param>
        protected override void CopyToItem(BaseItem copy)
        {
            base.CopyToItem(copy);

            RadialMenuContainer item = copy as RadialMenuContainer;
            item.BackButtonSymbol = _BackSymbol;
            item.BackButtonSymbolSize = _BackSymbolSize;
            item.CenterButtonDiameter = _CenterButtonDiameter;
            item.Colors.Apply(_Colors);
            item.Diameter = _Diameter;
            item.MenuLocation = _MenuLocation;
            item.MenuType = _MenuType;
            item.SubMenuEdgeItemSpacing = _SubMenuEdgeItemSpacing;
            item.SubMenuEdgeWidth = _SubMenuEdgeWidth;
        }
Example #18
0
		public virtual  int Add(BaseItem item, int Position)
		{
			int iRet=Position;
            if (this.Contains(item))
            {
                return this.IndexOf(item);
            }

			if(Position>=0)
				List.Insert(Position,item);
			else
				iRet=List.Add(item);

			return iRet;
		}
Example #19
0
		public void AddCopy(BaseItem objItem)
		{
			if(objItem==null)
				throw new System.ArgumentNullException("Item must be valid value");
			if(objItem.Name==null || objItem.Name=="")
			{
				// Auto assign item name
				objItem.Name="item_"+objItem.Id.ToString();
			}
			if(m_Items.ContainsKey(objItem.Name))
				throw new System.InvalidOperationException("Item with this name already exists");
			BaseItem objCopy=objItem.Copy();
			objCopy.SetOwner(m_Owner);
			objCopy.GlobalItem=true;
			m_Items.Add(objCopy.Name,objCopy);
		}
Example #20
0
		internal int _Add(BaseItem item)
		{
			m_IgnoreEvents=true;
			m_AllowParentRemove=false;
			int i=0;
			try
			{
				i=List.Add(item);
			}
			finally
			{
				m_IgnoreEvents=false;
				m_AllowParentRemove=true;
			}
			return i;
		}
Example #21
0
        protected override void OnItemAdded(DevComponents.DotNetBar.BaseItem item)
        {
            switch (item.Text)
            {
            case "Theme Colors":
                item.Text = "主题颜色";
                break;

            case "Standard Colors":
                item.Text = "基本颜色";
                break;

            case "&More Colors...":
                item.Text = "更多颜色...";
                break;
            }
        }
Example #22
0
		internal void _Add(BaseItem item, int Position)
		{
			m_IgnoreEvents=true;
			m_AllowParentRemove=false;
			try
			{
                if (Position >= 0)
                    List.Insert(Position, item);
                else
                    List.Add(item);
			}
			finally
			{
				m_IgnoreEvents=false;
				m_AllowParentRemove=true;
			}
		}
Example #23
0
        /// <summary>
        /// Copies the ProgressBarItem specific properties to new instance of the item.
        /// </summary>
        /// <param name="copy">New ProgressBarItem instance.</param>
        protected override void CopyToItem(BaseItem copy)
        {
            ProgressBarItem objCopy = copy as ProgressBarItem;
            base.CopyToItem(objCopy);

            objCopy.Minimum = this.Minimum;
            objCopy.Maximum = this.Maximum;
            objCopy.Step = this.Step;
            objCopy.TextVisible = this.TextVisible;
            objCopy.Width = this.Width;
            objCopy.Style = this.Style;
            objCopy.Value = this.Value;

            objCopy.ChunkColor = ChunkColor;
            objCopy.ChunkColor2 = ChunkColor2;
            objCopy.ChunkGradientAngle = ChunkGradientAngle;
            objCopy.ColorTable = ColorTable;
        }
Example #24
0
 public void Paint(BaseItem container, ItemPaintArgs p)
 {
     foreach (BaseItem item in container.SubItems)
     {
         if (item.Visible && item.Displayed)
         {
             if (p.ClipRectangle.IsEmpty || p.ClipRectangle.IntersectsWith(item.DisplayRectangle))
             {
                 Region oldClip = p.Graphics.Clip; //.Clone() as Region;
                 p.Graphics.SetClip(item.DisplayRectangle, CombineMode.Intersect);
                 item.Paint(p);
                 p.Graphics.Clip = oldClip;
                 if (oldClip != null)
                     oldClip.Dispose();
             }
         }
     }
 }
Example #25
0
		public void Add(BaseItem objItem)
		{
			if(objItem==null)
				throw new System.ArgumentNullException("Item must be valid value");
			if(objItem.Name==null || objItem.Name=="")
			{
				// Auto assign item name
				objItem.Name="item_"+objItem.Id.ToString();
			}
			if(m_Items.ContainsKey(objItem.Name))
			{
				throw new System.InvalidOperationException("Item with this name already exists");
			}
			
			if(objItem.Parent!=null)
				throw new System.InvalidOperationException("Item already has a Parent. Remove item from Parent first.");
				
			objItem.SetOwner(m_Owner);
			objItem.GlobalItem=true;

			m_Items.Add(objItem.Name,objItem);
		}
Example #26
0
		public void Remove(BaseItem objItemToRemove)
		{
			if(m_Items.ContainsKey(objItemToRemove.Name))
			{
				m_Items.Remove(objItemToRemove.Name);
				objItemToRemove.SetOwner(null);
				((IOwner)m_Owner).RemoveShortcutsFromItem(objItemToRemove);
				//objItemToRemove.GlobalItem=false;
				return;
			}
			
			string sItemName=objItemToRemove.Name;
			foreach(DictionaryEntry o in m_Items)
			{
				BaseItem objItem=o.Value as BaseItem;
				// Name out of sync case
				if(objItem==objItemToRemove)
				{
					m_Items.RemoveAt(m_Items.IndexOfValue(objItem));
					objItemToRemove.SetOwner(null);
					((IOwner)m_Owner).RemoveShortcutsFromItem(objItemToRemove);
                    return;
				}
				if(objItem.SubItems.Count>0)
				{
					if(RemoveItem(sItemName,objItem))
					{
						//objItemToRemove.GlobalItem=false;
						return;
					}
				}
			}

			// This will throw exception...
			m_Items.Remove(objItemToRemove.Name);
			objItemToRemove.SetOwner(null);
		}
Example #27
0
        private void ColorSelected()
        {
            DevComponents.DotNetBar.PopupContainerControl ctrl = this.Parent as DevComponents.DotNetBar.PopupContainerControl;
            if (ctrl == null)
            {
                return;
            }

            // Change the Parent Item image to indicate which color was selected last
            // Assumes that Image with ImageIndex 21 is used on button
            DevComponents.DotNetBar.ButtonItem btn = ctrl.ParentItem as DevComponents.DotNetBar.ButtonItem;
            Bitmap   bmp = new Bitmap(btn.Image);
            Graphics g   = Graphics.FromImage(bmp);

            g.DrawImageUnscaled(btn.Image, 0, 0);
            using (SolidBrush brush = new SolidBrush(this.SelectedColor))
                g.FillRectangle(brush, 0, 12, 16, 4);
            g.Dispose();
            btn.ImageIndex = -1;
            DevComponents.DotNetBar.DotNetBarManager manager = null;
            if (btn.ContainerControl is DevComponents.DotNetBar.Bar)
            {
                manager = ((DevComponents.DotNetBar.Bar)btn.ContainerControl).Owner as DevComponents.DotNetBar.DotNetBarManager;
            }
            else if (btn.ContainerControl is DevComponents.DotNetBar.MenuPanel)
            {
                manager = ((DevComponents.DotNetBar.MenuPanel)btn.ContainerControl).Owner as DevComponents.DotNetBar.DotNetBarManager;
            }
            if (manager != null && btn.Name != "")
            {
                ArrayList items = manager.GetItems(btn.Name, true);
                foreach (DevComponents.DotNetBar.ButtonItem item in items)
                {
                    item.Image = bmp;
                }
            }
            else
            {
                btn.Image = bmp;
            }

            if (btn.ContainerControl is RibbonBar)
            {
                ((RibbonBar)btn.ContainerControl).RecalcLayout();
            }

            if (btn.IsOnMenu)
            {
                DevComponents.DotNetBar.BaseItem topItem = ctrl.ParentItem;
                while (topItem.Parent is DevComponents.DotNetBar.ButtonItem)
                {
                    topItem = topItem.Parent;
                }
                topItem.Expanded = false;
                if (topItem.Parent != null)
                {
                    topItem.Parent.AutoExpand = false;
                }
            }
            else
            {
                btn.Expanded = false;
            }
        }
Example #28
0
 private bool AnyVisibleSubItems(BaseItem item)
 {
     if (!item.ShowSubItems) return false;
     foreach (BaseItem t in item.SubItems)
     {
         if (t.Visible) return true;
     }
     return false;
 }
Example #29
0
 private BaseItem GetExpandedItemRecursevly(BaseItem item)
 {
     foreach (BaseItem sub in item.SubItems)
     {
         if (sub.Expanded)
         {
             BaseItem inner = GetExpandedItemRecursevly(sub);
             if (inner != null) return inner;
             return sub;
         }
     }
     return null;
 }
Example #30
0
 private void SetContainerRecursevly(BaseItem item, object newContainer)
 {
     foreach (BaseItem c in item.SubItems)
     {
         c.ContainerControl = newContainer;
         SetContainerRecursevly(c, newContainer);
     }
 }
Example #31
0
 protected internal override void OnSubItemExpandChange(BaseItem item)
 {
     NeedRecalcSize = true;
     if (this.Expanded)
     {
         if (_CurrentStoryline == null || _CurrentStoryline.IsDisposed)
         {
             WaitForCurrentAnimationToComplete();
             RunExpandItemAnimation();
         }
         else
             this.Invalidate();
     }
     HotSubItemInfoIndex = -1;
     base.OnSubItemExpandChange(item);
 }
Example #32
0
 protected override void WndProc(ref Message m)
 {
     if (m.Msg == NativeFunctions.WM_THEMECHANGED)
     {
         this.RefreshThemes();
     }
     else if (m.Msg == NativeFunctions.WM_USER + 107)
     {
         if (m_DoDefaultActionItem != null)
         {
             if (!m_DoDefaultActionItem._AccessibleExpandAction)
                 this.PerformClick();
             m_DoDefaultActionItem.DoAccesibleDefaultAction();
             m_DoDefaultActionItem = null;
         }
     }
     base.WndProc(ref m);
 }
Example #33
0
        bool IMessageHandlerClient.OnMouseDown(IntPtr hWnd, IntPtr wParam, IntPtr lParam)
        {
            if (m_RegisteredPopups.Count == 0)
                return false;

            BaseItem[] popups = new BaseItem[m_RegisteredPopups.Count];
            m_RegisteredPopups.CopyTo(popups);
            for (int i = popups.Length - 1; i >= 0; i--)
            {
                PopupItem objPopup = popups[i] as PopupItem;
                bool bChildHandle = objPopup.IsAnyOnHandle(hWnd);

                if (!bChildHandle)
                {
                    System.Windows.Forms.Control cTmp = System.Windows.Forms.Control.FromChildHandle(hWnd);
                    if (cTmp != null)
                    {
                        if (cTmp is MenuPanel)
                        {
                            bChildHandle = true;
                        }
                        else
                        {
                            while (cTmp.Parent != null)
                            {
                                cTmp = cTmp.Parent;
                                if (cTmp.GetType().FullName.IndexOf("DropDownHolder") >= 0 || cTmp is MenuPanel || cTmp is PopupContainerControl)
                                {
                                    bChildHandle = true;
                                    break;
                                }
                            }
                        }
                        if (!bChildHandle)
                            bChildHandle = objPopup.IsAnyOnHandle(cTmp.Handle);
                    }
                    else
                    {
                        string s = NativeFunctions.GetClassName(hWnd);
                        s = s.ToLower();
                        if (s.IndexOf("combolbox") >= 0)
                            bChildHandle = true;
                    }
                }

                if (!bChildHandle)
                {
                    Control popupContainer = objPopup.PopupControl;
                    if (popupContainer != null)
                        while (popupContainer.Parent != null) popupContainer = popupContainer.Parent;
                    if (popupContainer != null && popupContainer.Bounds.Contains(Control.MousePosition))
                        bChildHandle = true;
                }

                if (bChildHandle)
                    break;

                if (objPopup.Displayed)
                {
                    // Do not close if mouse is inside the popup parent button
                    Point p = this.PointToClient(MousePosition);
                    if (objPopup.DisplayRectangle.Contains(p))
                        break;
                }

                if (this.GetDesignMode())
                {
                    this.GetDelayClose().DelayClose(objPopup);
                }
                else
                    objPopup.ClosePopup();

                if (m_RegisteredPopups.Count == 0)
                    break;
            }
            if (m_RegisteredPopups.Count == 0)
                this.MenuFocus = false;
            return false;
        }
Example #34
0
 private void BarItemClick(object sender, EventArgs e)
 {
     DevComponents.DotNetBar.BaseItem item = sender as DevComponents.DotNetBar.BaseItem;
     MessageBox.Show("Item '" + item.Text + "' clicked.");
 }
Example #35
0
 private void CollapseRecursively(BaseItem item)
 {
     foreach (BaseItem sub in item.SubItems)
     {
         sub.Expanded = false;
         CollapseRecursively(sub);
     }
 }
Example #36
0
 private Control GetContainerControl(BaseItem item)
 {
     object container = item.ContainerControl;
     if (container is BaseItem)
         container = ((BaseItem)container).ContainerControl;
     return container as Control;
 }
Example #37
0
        private void ExecuteDevCommand(object sender)
        {
            if (sender == null)
            {
                return;
            }
            DevComponents.DotNetBar.BaseItem vItem = sender as DevComponents.DotNetBar.BaseItem;
            string strToolStripName = vItem.Name.ToLower();

            ESRI.ArcGIS.SystemUI.ICommand pCommand = null;

            switch (strToolStripName)
            {
            case "bttdefaulttool":
                pCommand = new Tools.ControlsDefaultTool();
                break;

            case "bttselection":    //打开文档
                pCommand = new ControlsSelectFeaturesToolClass();
                break;

            case "bttclearselection":
                pCommand = new ControlsClearSelectionCommandClass();
                break;

            case "bttzoomintool":
                pCommand = new ControlsMapZoomInToolClass();
                break;

            case "bttzoomouttool":
                pCommand = new ControlsMapZoomOutToolClass();
                break;

            case "bttpantool":
                pCommand = new ControlsMapPanToolClass();
                break;

            case "bttzoominfixedcommand":
                pCommand = new ControlsMapZoomInFixedCommandClass();
                break;

            case "bttzoomoutfixedcommand":
                pCommand = new ControlsMapZoomOutFixedCommandClass();
                break;

            case "bttrefreshviewcommand":
                pCommand = new ControlsMapRefreshViewCommandClass();
                break;

            case "bttfullextentcommand":
                pCommand = new ControlsMapFullExtentCommandClass();
                break;

            case "bttzoomtolastextentbackcommand":
                pCommand = new ControlsMapZoomToLastExtentBackCommandClass();
                break;

            case "bttzoomtolastextentforwardcommand":
                pCommand = new ControlsMapZoomToLastExtentForwardCommandClass();
                break;

            case "bttstartedit":
                if (CreateShape.m_CurrentLayer != null)
                {
                    pCommand = new Command.ControlsStartEditCommand();
                }
                break;

            case "bttsaveedit":
                if (CreateShape.m_CurrentLayer != null)
                {
                    pCommand = new Command.ControlsSaveEditCommand(axMapControl1);
                }
                break;

            case "bttstopedit":
                if (CreateShape.m_CurrentLayer != null)
                {
                    axMapControl1.CurrentTool  = null;
                    axMapControl1.MousePointer = esriControlsMousePointer.esriPointerDefault;
                    pCommand = new Command.ControlsStopEditCommand(axMapControl1);
                }
                break;

            case "buttsketchup":
                if (CreateShape.m_CurrentLayer != null && CreateShape.pWorkspaceEdit != null)
                {
                    if (CreateShape.pWorkspaceEdit.IsBeingEdited())
                    {
                        axMapControl1.CurrentTool = null;
                        pCommand = new Tools.SketChupTool(axMapControl1);
                    }
                }
                break;

            case "bttnundo":
                if (CreateShape.m_CurrentLayer != null && CreateShape.pWorkspaceEdit != null)
                {
                    if (CreateShape.pWorkspaceEdit.IsBeingEdited())
                    {
                        pCommand = new Command.ControlsUndoEditCommand(axMapControl1);
                    }
                }
                break;

            case "bttnredo":
                if (CreateShape.m_CurrentLayer != null && CreateShape.pWorkspaceEdit != null)
                {
                    if (CreateShape.pWorkspaceEdit.IsBeingEdited())
                    {
                        pCommand = new Command.ControlsRedoEditCommand(axMapControl1);
                    }
                }
                break;

            case "bttndelete":
                if (CreateShape.m_CurrentLayer != null && CreateShape.pWorkspaceEdit != null)
                {
                    if (CreateShape.pWorkspaceEdit.IsBeingEdited())
                    {
                        pCommand = new Command.ControlsDeleteSelectedFeaturesCommand(axMapControl1);
                    }
                }
                break;

            case "bttadddata":
                pCommand = new Command.ControlsAddDataCommand(axMapControl1);
                break;

            case "bttopendoc":
                pCommand = new Command.ControlsOpenMxdDocCommand(axMapControl1);
                break;

            case "bttsave":
                pCommand = new Command.ControlsSaveMxdDocCommand();
                break;

            case "bttsaveas":
                pCommand = new Command.ControlsSaveasMxdDocCommand();
                break;

            case "bttcut":
                pCommand = new ControlsEditingCutCommandClass();
                break;

            case "bttcopy":
                pCommand = new ControlsEditingCopyCommandClass();
                break;

            case "bttpast":
                pCommand = new ControlsEditingPasteCommandClass();
                break;

            case "bttdelete":
                pCommand = new ControlsEditingClearCommandClass();
                break;

            case "bttexitmxddoc":
                pCommand = new Command.ControlsExitMxdDocCommand(this);
                break;
            }
            if (pCommand == null)
            {
                return;
            }
            pCommand.OnCreate(this.axMapControl1.Object);
            if (pCommand is ITool)
            {
                this.axMapControl1.CurrentTool = pCommand as ITool;
            }
            else
            {
                try
                {
                    pCommand.OnClick();
                }
                catch { MessageBox.Show("未启动编辑", "提示!"); }
            }
        }