private void BuildMenu() { Dictionary <string, List <SystemMenu> > dt = Framework.Environment.GetSystemMenu(); foreach (var item in dt) { SideBarPanelItem sideBarPanelItem = new SideBarPanelItem(); // sideBarPanelItem.FontBold = true; sideBarPanelItem.Image = c.GetPageICON(item.Key); sideBarPanelItem.Text = item.Key; sideBarPanelItem.Name = "sideBarPanelItem" + item.Key; sideBarPanelItem.ExpandChange += sideBarPanelItem_ExpandChange; foreach (var item1 in item.Value) { // ButtonItem buttonItem = new ButtonItem(); buttonItem.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; buttonItem.Image = c.GetPageImage(item1.Title); buttonItem.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; buttonItem.Text = item1.Title; buttonItem.Tooltip = item1.Discription; buttonItem.Tag = item1; //buttonItem.OptionGroup = "1"; //buttonItem.AutoCheckOnClick = true; buttonItem.Click += new System.EventHandler(buttonItem_Click); sideBarPanelItem.SubItems.Add(buttonItem); // } sideBar1.Panels.Add(sideBarPanelItem); } sideBar1.Refresh(); }
// Note: The Init method is handled by the superclass. /// <summary> /// Overrides method to create main elements of the sidebar. /// </summary> /// <param name="groupCollection">Collection of groups for this sidebar.</param> public override void CreateUIForChoiceGroupCollection(ChoiceGroupCollection groupCollection) { foreach (ChoiceGroup group in groupCollection) { string label = group.Label; label = label.Replace("_", ""); SideBarPanelItem panelItem = new SideBarPanelItem(group.Id, label); if (group.HasSubGroups()) { MakeTree(group, label, ref panelItem); } panelItem.Tag = group; group.ReferenceWidget = panelItem; SideBar sidebar = MySideBar; sidebar.Panels.Add(panelItem); sidebar.Images = m_smallImages.ImageList; panelItem.BackgroundStyle.BackColor1.Alpha = ((System.Byte)(255)); panelItem.BackgroundStyle.BackColor1.Color = System.Drawing.SystemColors.ControlLightLight; // // sideBarPanelItem1.BackgroundStyle.BackColor2 // panelItem.BackgroundStyle.BackColor2.Alpha = ((System.Byte)(255)); panelItem.BackgroundStyle.BackColor2.Color = System.Drawing.SystemColors.ControlDark; panelItem.BackgroundStyle.BackgroundImageAlpha = ((System.Byte)(255)); panelItem.BackgroundStyle.Border = DevComponents.DotNetBar.eBorderType.None; panelItem.BackgroundStyle.TextTrimming = System.Drawing.StringTrimming.EllipsisCharacter; panelItem.ItemImageSize = DevComponents.DotNetBar.eBarImageSize.Default; } MySideBar.ExpandedChange += new EventHandler(Sidebar_ExpandedChange); }
Task <bool> IniMenu() { return(Task.Run(() => { DataTable dt = T_Sysset.GetMenuSet(); if (dt == null || dt.Rows.Count <= 0) { return false; } for (int i = 0; i < dt.Rows.Count; i++) { string strname = dt.Rows[i][0].ToString(); if (strname.Trim().Length <= 0) { continue; } if (T_User.UserMenu.IndexOf(DESEncrypt.DesEncrypt(strname)) < 0) { continue; } SideBarPanelItem item = new SideBarPanelItem(); item.Name = strname; item.Text = strname; item.FontBold = true; sideBarManger.Invoke(new Action(() => { sideBarManger.Panels.Add(item); sideBarManger.Refresh(); })); } return true; })); }
/// <summary> /// Overrides method to add itmes to the selected main itme in the sidebar. /// </summary> /// <param name="group">The group that defines this part of the sidebar.</param> public override void CreateUIForChoiceGroup(ChoiceGroup group) { #if USE_DOTNETBAR SideBarPanelItem panelItem = (SideBarPanelItem)group.ReferenceWidget; if (panelItem.SubItems.Count > 0 && panelItem.SubItems[0] is ControlContainerItem) { ControlContainerItem item = (ControlContainerItem)panelItem.SubItems[0]; TreeView tree = (TreeView)item.Control; if (tree.Nodes.Count == 0) { FillTreeNodes(tree.Nodes, group); } // It keeps growing with this. tree.Size = item.Size; } else if (group.ReferenceWidget is SideBarPanelItem) { panelItem.SubItems.Clear(); foreach (ChoiceRelatedClass item in group) { Debug.Assert(item is ChoiceBase, "Only things that can be made into buttons should be appearing here, else we should have a tree."); MakeButton(panelItem, (ChoiceBase)item); } } #endif }
/// <summary> /// Handle the ExpandedChange event of the sidebar. /// </summary> /// <param name="sender">The main section that has been expanded.</param> /// <param name="e"></param> protected void Sidebar_ExpandedChange(object sender, EventArgs e) { SideBarPanelItem item = (SideBarPanelItem)sender; ChoiceGroup group = (ChoiceGroup)item.Tag; Debug.Assert(group != null); group.OnDisplay(this, null); }
private void LoadNavMeun(string currentid) { foreach (DataRow dr in ClientCache.Instance.DTUserMoule.Rows) { string parentId = dr[PiModuleTable.FieldParentId].ToString(); //~这部分可以单独调优,只是为了把左侧功能栏项加载好,要新增项只需修改判断条件。 //if ((dr[PiModuleTable.FieldParentId].ToString() != "1")) if (string.IsNullOrEmpty(parentId.Trim()) || parentId != currentid) { continue; } //只加载模块类型为1(WinForm类型)或3(WinForm与WebForm相结合)的 var moduleType = BusinessLogic.ConvertToNullableInt(dr[PiModuleTable.FieldModuleType]); if (moduleType != null && moduleType != 1 && moduleType != 3) { continue; } var dataRows = ClientCache.Instance.DTUserMoule.Select(PiModuleTable.FieldParentId + " = '" + dr[PiModuleTable.FieldId].ToString() + "' AND (" + PiModuleTable.FieldModuleType + " IS NULL OR " + PiModuleTable.FieldModuleType + "=1 OR " + PiModuleTable.FieldModuleType + "=3)", PiModuleTable.FieldSortCode); if (dataRows.Length <= 0) { continue; } var sideBarPanelItem = new SideBarPanelItem { Name = dr[PiModuleTable.FieldCode].ToString(), Text = dr[PiModuleTable.FieldFullName].ToString(), Tag = dr }; if (SystemInfo.MultiLanguage) { if (SystemInfo.CurrentLanguage.Equals("zh-TW", StringComparison.OrdinalIgnoreCase)) { sideBarPanelItem.Text = ChineseStringHelper.StringConvert(sideBarPanelItem.Text, 1); } if (SystemInfo.CurrentLanguage.Equals("en-US", StringComparison.OrdinalIgnoreCase)) { sideBarPanelItem.Text = sideBarPanelItem.Name.StartsWith("Frm", StringComparison.OrdinalIgnoreCase) ? sideBarPanelItem.Name.Remove(0, 3) : sideBarPanelItem.Name; } } if (dr[PiModuleTable.FieldImageIndex] != null && !string.IsNullOrEmpty(dr[PiModuleTable.FieldImageIndex].ToString().Trim())) { byte[] buffer = fileService.Download(this.UserInfo, dr[PiModuleTable.FieldImageIndex].ToString().Trim()); if (buffer != null && buffer.Length > 0) { sideBarPanelItem.ItemImageSize = eBarImageSize.Default; sideBarPanelItem.Image = BusinessLogic.byteArrayToImage(buffer); } } this.AddButtonItem(dataRows, sideBarPanelItem); sideBarMain.Panels.Add(sideBarPanelItem); } }
private void AddButtonItem(DataRow[] dataRows, SideBarPanelItem sidebarPItem) { if (dataRows.Length <= 0) { return; } foreach (DataRow dataRow in dataRows) { //只加载模块类型为1(WinForm类型)或3(WinForm与WebForm相结合)的 var moduleType = BusinessLogic.ConvertToNullableInt(dataRow[PiModuleTable.FieldModuleType]); if (moduleType != null && moduleType != 1 && moduleType != 3) { continue; } var buttomItem = new ButtonItem { ButtonStyle = eButtonStyle.ImageAndText, ImagePosition = eImagePosition.Top, ItemAlignment = eItemAlignment.Center }; if (dataRow[PiModuleTable.FieldImageIndex] != null && !string.IsNullOrEmpty(dataRow[PiModuleTable.FieldImageIndex].ToString().Trim())) { byte[] buffer = fileService.Download(this.UserInfo, dataRow[PiModuleTable.FieldImageIndex].ToString().Trim()); buttomItem.Image = buffer != null && buffer.Length > 0 ? BusinessLogic.byteArrayToImage(buffer) : imageListMain.Images[0]; } else //取默认图标 { buttomItem.Image = imageListMain.Images[0]; } buttomItem.Name = dataRow[PiModuleTable.FieldCode].ToString(); buttomItem.Text = dataRow[PiModuleTable.FieldFullName].ToString(); if (SystemInfo.MultiLanguage) { if (SystemInfo.CurrentLanguage.Equals("zh-TW", StringComparison.OrdinalIgnoreCase)) { buttomItem.Text = ChineseStringHelper.StringConvert(buttomItem.Text, 1); } if (SystemInfo.CurrentLanguage.Equals("en-US", StringComparison.OrdinalIgnoreCase)) { buttomItem.Text = buttomItem.Name.StartsWith("Frm", StringComparison.OrdinalIgnoreCase) ? buttomItem.Name.Remove(0, 3) : buttomItem.Name; } } buttomItem.Tag = dataRow; buttomItem.Click += this.sideBarItem_Click; sidebarPItem.SubItems.Add(buttomItem); } }
/// <summary> /// Redraw ths expanded item, so that the selected and enabled items are up to date. /// </summary> public override void OnIdle() { SideBar sidebar = MySideBar; SideBarPanelItem panelItem = sidebar.ExpandedPanel; if (panelItem != null) { // CreateUIForChoiceGroup((ChoiceGroup)panelItem.Tag); // sidebar.Refresh(); ((ChoiceGroup)panelItem.Tag).OnDisplay(this, null); //jh experiment } }
private SideBarPanelItem CrearPanel(menu unMenu) { SideBarPanelItem unPanel = null; #region PROPIEDADES DEL PANEL unPanel = new SideBarPanelItem(unMenu.idpadre.ToString() + unMenu.nombre) { Text = unMenu.nombre, Visible = unMenu.visible }; unPanel.BackgroundStyle.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(246)))), ((int)(((byte)(246)))), ((int)(((byte)(246))))); unPanel.BackgroundStyle.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250))))); unPanel.BackgroundStyle.Border = DevComponents.DotNetBar.eBorderType.SingleLine; unPanel.BackgroundStyle.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(45)))), ((int)(((byte)(150))))); unPanel.BackgroundStyle.ForeColor.Color = System.Drawing.SystemColors.ControlText; unPanel.FontBold = true; unPanel.HeaderHotStyle.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(173)))), ((int)(((byte)(228))))); unPanel.HeaderHotStyle.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); unPanel.HeaderHotStyle.ForeColor.Color = System.Drawing.SystemColors.ControlText; unPanel.HeaderHotStyle.GradientAngle = 90; unPanel.HeaderSideHotStyle.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(173)))), ((int)(((byte)(228))))); unPanel.HeaderSideHotStyle.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); unPanel.HeaderSideHotStyle.GradientAngle = 90; unPanel.HeaderSideStyle.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(223)))), ((int)(((byte)(237)))), ((int)(((byte)(254))))); unPanel.HeaderSideStyle.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(142)))), ((int)(((byte)(179)))), ((int)(((byte)(231))))); unPanel.HeaderSideStyle.Border = DevComponents.DotNetBar.eBorderType.SingleLine; unPanel.HeaderSideStyle.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(45)))), ((int)(((byte)(150))))); unPanel.HeaderSideStyle.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Top) | DevComponents.DotNetBar.eBorderSide.Bottom))); unPanel.HeaderSideStyle.GradientAngle = 90; unPanel.HeaderStyle.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); unPanel.HeaderStyle.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(173)))), ((int)(((byte)(228))))); unPanel.HeaderStyle.Border = DevComponents.DotNetBar.eBorderType.SingleLine; unPanel.HeaderStyle.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(45)))), ((int)(((byte)(150))))); unPanel.HeaderStyle.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Right | DevComponents.DotNetBar.eBorderSide.Top) | DevComponents.DotNetBar.eBorderSide.Bottom))); unPanel.HeaderStyle.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold); unPanel.HeaderStyle.ForeColor.Color = System.Drawing.SystemColors.ControlText; unPanel.HeaderStyle.GradientAngle = 90; unPanel.ImageIndex = unMenu.icono; #endregion PROPIEDADES DEL PANEL List <menu> listaHijos = this.listaMenus.Where(x => x.idpadre == unMenu.id).ToList(); foreach (menu item in listaHijos) { ButtonItem unBoton = CreaSubItems(item); if (unBoton != null) { unPanel.SubItems.Add(unBoton); } } return(unPanel); }
public static void Click(SideBarPanelItem sideBar, SuperTabControl superTabControl, ButtonItem ClickedButton, SuperTabItem TabItem) { Util.WriteMethodInfoToConsole(); try { HConsole.WriteLine(LastCheckedButton.Text + " (" + LastCheckedButton.Name + ") --> unchecked"); LastCheckedButton.Checked = false; } catch { } foreach (ButtonItem bi in sideBar.SubItems) { if (bi.Name == ClickedButton.Name) { bi.Checked = true; HConsole.WriteLine(bi.Text + " (" + bi.Name + ") --> is now LastCheckedButton"); LastCheckedButton = bi; } else { bi.Checked = false; } } //System.Windows.Forms.Form MainForm = System.Windows.Forms.Application.OpenForms.Cast<System.Windows.Forms.Form>().Where(x => x.Name == "frmMain").FirstOrDefault(); //var c = GetAllControlsOfType(MainForm, typeof(SideBar)); //Console.WriteLine("Total ButtonItem Controls: " + c.Count()); if (TabItem != null) { foreach (SuperTabItem sti in superTabControl.Tabs) { if (sti.Name == TabItem.Name) { sti.Visible = true; sti.Text = ClickedButton.Text; } else { sti.Visible = false; } } superTabControl.Visible = true; } else { superTabControl.Visible = false; } //if (!superTabControl.Visible) //{ // superTabControl.Visible = true; //} }
/// <summary> /// 重写方法,添加文本框 /// </summary> /// <param name="objItem"></param> /// <param name="e"></param> protected override void OnItemDoubleClick(BaseItem objItem, MouseEventArgs e) { //首先判断下是否允许双击更改Text if (!EnableDoubleClickChangeText) { base.OnItemDoubleClick(objItem, e); return; } //下面则是允许 _SideBarPanelItem = objItem as SideBarPanelItem; //判断一下 if (_SideBarPanelItem == null) { base.OnItemDoubleClick(objItem, e); return; } Rectangle DisplayRectangle = _SideBarPanelItem.DisplayRectangle; Rectangle PanelRect = _SideBarPanelItem.PanelRect; Point Location = this.PointToClient(e.Location); //处理下特殊情况 if (Location.Y > DisplayRectangle.Location.Y + PanelRect.Height && Location.Y < PanelRect.Y + DisplayRectangle.Height) { base.OnItemDoubleClick(objItem, e); return; } //填充相关信息 this._NameEdit.Clear(); this._NameEdit.Location = _SideBarPanelItem.DisplayRectangle.Location; this._NameEdit.Size = _SideBarPanelItem.PanelRect.Size; this._NameEdit.Text = _SideBarPanelItem.Text; this._NameEdit.SelectionLength = this._NameEdit.TextLength; this._NameEdit.SelectAll(); this._NameEdit.ScrollToCaret(); //显现 this._NameEdit.Show(); //设置焦点 this._NameEdit.Focus(); //添加到最前面 this.Controls.SetChildIndex(this._NameEdit, 0); //base方法 base.OnItemDoubleClick(objItem, e); }
/// <summary> /// Create a tree view for the sidebar. /// </summary> /// <param name="group">The definition for the tree view.</param> /// <param name="label"></param> /// <param name="panelItem"></param> protected void MakeTree(ChoiceGroup group, string label, ref SideBarPanelItem panelItem) { // TODO: This tree isn't the right size, when the window opens. // Figure out how to make it right. TreeView tree = new TreeView(); tree.Tag = group; tree.AfterSelect += new TreeViewEventHandler(OnTreeNodeSelected); ControlContainerItem containerItem = new ControlContainerItem(group.Id, label); containerItem.AllowItemResize = true; containerItem.Control = tree; panelItem.SubItems.Add(containerItem); }
/// <summary> /// Create a ButtonItem for the sidebar. /// </summary> /// <param name="panelItem"></param> /// <param name="control"></param> protected void MakeButton(SideBarPanelItem panelItem, ChoiceBase control) { UIItemDisplayProperties display = control.GetDisplayProperties(); display.Text = display.Text.Replace("_", ""); ButtonItem button = new ButtonItem(control.Id, display.Text); button.Tag = control; control.ReferenceWidget = button; if (panelItem.ItemImageSize == eBarImageSize.Large) { if (m_largeImages.ImageList.Images.Count > 0) { button.ImageIndex = m_largeImages.GetImageIndex(display.ImageLabel); } } else { if (m_smallImages.ImageList.Images.Count > 0) { button.ImageIndex = m_smallImages.GetImageIndex(display.ImageLabel); } } button.Text = display.Text; button.ButtonStyle = eButtonStyle.ImageAndText; if (!display.Enabled) { button.Text = button.Text + " NA"; } button.Click += new EventHandler(OnClick); panelItem.SubItems.Add(button); //a button in this framework not really a Control... so I don't know how to use //(the same company's) balloon tip control on a sidebar button! // m_mediator.SendMessage("RegisterHelpTarget", button.ContainerControl); }
private void LoadCategories(TextureCategory[] categories) { foreach (TextureCategory cat in categories) { var pnl = new SideBarPanelItem() { Text = cat.Name }; foreach (TextureBlock b in cat.Blocks) { var btn = new ButtonItem() { Tag = b, Text = b.Name, ColorTable = eButtonColor.Orange }; btn.Click += ButtonItem_Clicked; btn.MouseUp += ButtonItem_MouseUp; pnl.SubItems.Add(btn); } SideBar1.Panels.Add(pnl); } }