private void LoadNav() { Dictionary <string, bool> dict = new Dictionary <string, bool>(); foreach (NavBarGroup nbg in navBarControl1.Groups) { dict.Add(nbg.Caption, nbg.Expanded); } navBarControl1.Groups.Clear(); var groups = Access.UnitType.GetUnitTypeList(); foreach (var group in groups) { NavBarGroup navGroup = new NavBarGroup(group.LXMC); navGroup.Tag = group; var subGroups = Access.UnitType.GetUnitTypeList(group.LXBM); foreach (var subGroup in subGroups) { NavBarItem ni = new NavBarItem(subGroup.LXMC); NavBarItemTag nbt = new NavBarItemTag(subGroup.LXMC, m_DicFromClass[group.BL2], "Careysoft.Dotnet.Tools.SqlData.ManageClient.exe", subGroup.LXBM, subGroup); ni.Tag = nbt; ni.LinkClicked += new NavBarLinkEventHandler(ShowForm); navBarControl1.Items.Add(ni); NavBarItemLink nil = new NavBarItemLink(ni); navGroup.ItemLinks.Add(nil); } navGroup.Expanded = dict.ContainsKey(group.LXMC) ? dict[group.LXMC] : true;; navBarControl1.Groups.Add(navGroup); } }
private bool TryFindItem <TItem>(TItem key, out NavBarItemLink link) { link = Groups .SelectMany(g => g.ItemLinks) .SingleOrDefault(l => ReferenceEquals(l.Item.Tag, key)); return(link != null); }
protected override void OnClosing(CancelEventArgs e) { base.OnClosing(e); if (DialogResult == DialogResult.OK) { if (role == DialogRole.New) { navBar.BeginUpdate(); NavBarGroup group = NavBarHelper.GetGroupByName(cbeGroup.Text, navBar); NavBarItem item = new NavBarItem(teCaption.Text); NavBarItemLink link = group.ItemLinks.Add(item); group.Expanded = true; item.Tag = ObjectHelper.GetCorrectUrl(heLink.Text); navBar.SelectedLink = link; navBar.EndUpdate(); } else { CurrentItem.Caption = teCaption.Text; CurrentItem.Tag = ObjectHelper.GetCorrectUrl(heLink.Text); if (CurrentGroup.Caption != cbeGroup.Text) { navBar.BeginUpdate(); NavBarGroup group = NavBarHelper.GetGroupByName(cbeGroup.Text, navBar); group.Expanded = true; NavBarItemLink link = group.ItemLinks.Add(CurrentItem); CurrentGroup.ItemLinks.Remove(navBar.SelectedLink); navBar.SelectedLink = link; NavBarHelper.DeleteEmptyGroup(navBar); navBar.EndUpdate(); } } } }
public void CheckSelectedItem(NavBarItemLink link, object moduledata = null) { //try //{ var navmoduleobject = link?.Item.Tag as NavModuleObject; if (navmoduleobject == null) return; var firstshow = navmoduleobject.Module == null; Ribbon.UnMergeRibbon(); //以上没问题 if (firstshow) { SplashScreenManager.ShowForm(this.Ribbon.FindForm(), typeof(waitForm), false, true); //if (SplashScreenManager.Default == null) //{ // SplashScreenManager.ShowForm(this.Ribbon.FindForm(), typeof(waitForm), false, true); //} var constructureInfo = navmoduleobject.ModuleType.GetConstructor(Type.EmptyTypes); if (constructureInfo != null) { navmoduleobject.Module = constructureInfo.Invoke(null) as BaseModule; navmoduleobject.Module?.InitModule(); } if (SplashScreenManager.Default == null) return; //以上代码存在问题 var frm = moduledata as Form; if (frm != null) { if (SplashScreenManager.FormInPendingState) { SplashScreenManager.CloseForm(); } else { SplashScreenManager.CloseForm(false, 500, frm); } } else SplashScreenManager.CloseForm(); } if (navmoduleobject.Module == null) return; Panel.Controls.Clear(); Panel.Controls.Add(navmoduleobject.Module); navmoduleobject.Module.Dock = DockStyle.Fill; //如果Module上有ribbon,合并 if (navmoduleobject.Module.ChildRibbon != null) { navmoduleobject.Module.ChildRibbon.Pages[0].Text = navmoduleobject.Name; this.Ribbon.MergeRibbon(navmoduleobject.Module.ChildRibbon); int length = this.Ribbon.MergedPages.Count; if (length > 0) this.Ribbon.SelectedPage = this.Ribbon.MergedPages[length - 1]; } //} //catch (Exception ex) //{ // throw ex; //} }
private void navBar_GetHint(object sender, NavBarGetHintEventArgs e) { hintGroup = e.Group; hintLink = e.Link; if (hintLink != null) { navBar.SelectedLink = hintLink; } }
void InitNavBarControl() { NavBarItemLink item = CadetsNavBarGroup.AddItem(); item.Item.Name = "ANHTTT53"; item.Item.Caption = "Lớp ANHTTT"; item.Item.LinkClicked += (sender, args) => { InitGridControlCadet(item.Item.Name); }; NavBarItemLink item1 = ManagersNavBarGroup.AddItem(); item1.Item.Caption = "Cán Bộ Đại Đội"; }
NavBarItemLink AddNavBarItem(NavBarGroup group, string caption, Image image, object data, Contact contact) { NavBarItem item = new NavBarItem(caption); item.SmallImage = image; item.Tag = new NavBarData(data, contact); tasks.Add(item.Tag, data); NavBarItemLink link = group.ItemLinks.Add(item); item.LinkClicked += new NavBarLinkEventHandler(item_LinkClicked); return(link); }
/// <summary> /// navBar鼠标按下 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void navBar_MouseDown(object sender, MouseEventArgs e) { int groupHeight = 32; if (e.Y <= groupHeight) { hintLink = null; hintGroup = navBar.ActiveGroup; } Control ctrl = navBar.GetChildAtPoint(new Point(e.X, e.Y)); }
/// <summary> /// 显示选中背景色 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ChatNav_CustomDrawLink(object sender, CustomDrawNavBarElementEventArgs e) { NavBarItemLink link = ((NavLinkInfoArgs)e.ObjectInfo).Link; if (link.State == DevExpress.Utils.Drawing.ObjectState.Selected || link.State == DevExpress.Utils.Drawing.ObjectState.Hot ) { link.Item.AppearancePressed.ForeColor = Color.White; // link.Item.Appearance.Options.UseFont = true; e.Graphics.FillRectangle(Brushes.DodgerBlue, e.RealBounds); } }
void CreateNavBarItems(NavBarGroup group) { group.NavBar.AllowSelectedLink = true; NavBarItemLink link = AddNavBarItem(group, Properties.Resources.OwnerName, global::DevExpress.MailClient.Win.Properties.Resources.Owner, GetTasksData(null), null); link.Item.Appearance.Font = new Font(AppearanceObject.DefaultFont, FontStyle.Underline); foreach (Contact contact in TaskGenerator.Customers) { AddNavBarItem(group, contact.Name, contact.Icon, GetTasksData(contact), contact); } //link = AddNavBarItem(group, "All tasks", null, DataHelper.Tasks, null); group.SelectedLink = link; ShowData(group.SelectedLink.Item); }
private void AddLink(string _glink) { string[] _names = _glink.Split(','); NavBarItem _nb = new DevExpress.XtraNavBar.NavBarItem(); _nb.Caption = _names[1]; _nb.Name = _names[0]; _nb.Tag = _names[0]; NavBarGroup _group = GroupDict.ContainsKey(_names[2]) ? GroupDict[_names[2]] : null; if (_group != null) { NavBarItemLink _link = _group.ItemLinks.Add(_nb); } }
void CreateNavBarItems(NavBarGroup group) { group.NavBar.LinkSelectionMode = LinkSelectionModeType.OneInControl; NavBarItemLink link = AddNavBarItem(group, Properties.Resources.OwnerName, global::DevExpress.ProductsDemo.Win.Properties.Resources.Owner1, GetTasksData(null), null); link.Item.Appearance.Font = new Font(AppearanceObject.DefaultFont, FontStyle.Underline); foreach (Contact contact in TaskGenerator.Customers) { AddNavBarItem(group, contact.Name, contact.SvgIcon, GetTasksData(contact), contact); } NavBarItemLink allTasks = AddNavBarItem(group, "All tasks", null, DataHelper.Tasks, null); allTasks.Item.Appearance.Font = new Font(AppearanceObject.DefaultFont, FontStyle.Bold); group.SelectedLink = link; ShowData(group.SelectedLink.Item); }
private void rgSpectralView_SelectedIndexChanged(object sender, EventArgs e) { try { if (rgSpectralView.Properties.Items[rgSpectralView.SelectedIndex].Tag != null) { NavBarItemLink link = new NavBarItemLink(new NavBarItem(rgSpectralView.Properties.Items[rgSpectralView.SelectedIndex].Value.ToString())); link.Item.Tag = rgSpectralView.Properties.Items[rgSpectralView.SelectedIndex].Tag; viewNavigator.ChangeSelectedItem(link, null); } } catch (Exception ex) { ErrorLog.Error(ex.StackTrace.ToString()); } }
/// <summary> /// 从所有的分组中移除指定的JID(注意:该方法未使用 lock(NavLock)) /// </summary> /// <param name="jid"></param> private void RemoveJidOnUI(Jid jid) { foreach (NavBarGroup group in navBar.Groups) { for (int i = group.ItemLinks.Count - 1; i >= 0; i--) { NavBarItemLink link = group.ItemLinks[i]; NavBarItem nbItem = link.Item as NavBarItem; RosterItem rosterItem = nbItem.Tag as RosterItem; //wei=>if (jid.EqualsIgnoreResource(rosterItem.Jid)) //wei=>{ group.ItemLinks.Remove(link); //wei=>} } } }
protected bool RunNavigationItem(NavigationItem navigationItem) { if (this._currentPane != null && !this._currentPane.CanChange()) { return(false); } if (navigationItem.EventHandler != null) { CancelEventArgs e = new CancelEventArgs(); navigationItem.EventHandler((object)navigationItem, e); if (e.Cancel) { return(false); } } if (navigationItem.AllowTabTo) { if (navigationItem.Image != null) { this.SetHeader(navigationItem.Name, navigationItem.Image); } else { this.SetHeader(navigationItem.Name, navigationItem.ImageName); } } foreach (NavBarGroup navBarGroup in (CollectionBase)this._mainExplorerBar.Groups) { if (navBarGroup.Tag != null && (NavigationItem)navBarGroup.Tag == navigationItem) { navBarGroup.Expanded = true; return(true); } foreach (NavBarItemLink navBarItemLink in (CollectionBase)navBarGroup.ItemLinks) { if (navBarItemLink.Item.Tag != null && (NavigationItem)navBarItemLink.Item.Tag == navigationItem) { this._mainExplorerBar.SelectedLink = navBarItemLink; this._currentItem = navBarItemLink; return(true); } } this._mainExplorerBar.SelectedLink = (NavBarItemLink)null; } return(true); }
public int Compare(object x, object y) { NavBarItemLink itemX = x as NavBarItemLink; NavBarItemLink itemY = y as NavBarItemLink; int valX = itemX.Item.SmallImageIndex; int valY = itemY.Item.SmallImageIndex; /* * public const int STATUS_ONLINE = 0; * public const int STATUS_OFFLINE = 1; * public const int STATUS_UNKNOW = 2; * * public const int ICON_HOME = 3; * public const int ICON_DEPT = 4; * public const int ICON_HOME2 = 5; * * public const int STATUS_AWAY = 5; * public const int STATUS_DND = 6; * public const int STATUS_UNSUBSCRIBED = 7; * public const int STATUS_XA = 8; * * public const int STATUS_MOBILE = 9; */ // 离线 //wei=>if (valY == ResManager.STATUS_OFFLINE) valY = 100; //wei=>if (valX == ResManager.STATUS_OFFLINE) valX = 100; // 未订阅 //wei=>if (valY == ResManager.STATUS_UNSUBSCRIBED) valY = 90; //wei=>if (valX == ResManager.STATUS_UNSUBSCRIBED) valX = 90; //wei=> if (valY == ResManager.STATUS_MOBILE) valY = ResManager.STATUS_ONLINE; //wei=>if (valX == ResManager.STATUS_MOBILE) valX = ResManager.STATUS_ONLINE; int result = valX.CompareTo(valY); // 如果状态相同,则按名称排序 if (result == 0) { result = itemX.Item.Caption.CompareTo(itemY.Item.Caption); } return(result); }
private void Carrega_Favoritos() { StringBuilder sb = new StringBuilder(300); sb.AppendLine("select gf.Grupo_Favorito, gf.Desc_Grupo_Favorito"); sb.AppendLine(" from Grupos_Favoritos gf"); sb.AppendLine(" inner join Menus_Itens_Favoritos mif on gf.grupo_favorito = gf.grupo_favorito"); sb.AppendFormat(" where mif.usuario = {0}\r\n", Propriedades.CodigoUsuario); sb.AppendLine(" group by gf.Grupo_Favorito, gf.Desc_Grupo_Favorito"); DataTable dt_grupo = SQL.Select(sb.ToString(), "x", false); if (dt_grupo.Rows.Count > 0) { this.dock_Favoritos.Visibility = DockVisibility.Visible; } foreach (DataRow row in dt_grupo.Select()) { //-- Adiciona o grupo. NavBarGroup nbg = new NavBarGroup(row["Desc_Grupo_Favorito"].ToString()); nbg.Tag = Convert.ToInt32(row["Grupo_Favorito"]); nbg.Expanded = true; navBar_Favoritos.Groups.Add(nbg); //-- Verifica os itens e adiciona. sb = new StringBuilder(300); sb.AppendLine("select mi.Descricao, mi.namespace, mi.formulario"); sb.AppendLine(" from Menus_Itens_Favoritos mif"); sb.AppendLine(" inner join menus_itens mi on mi.menu_item = mif.Menu_item"); sb.AppendFormat(" where mif.grupo_favorito = {0}\r\n", row["Grupo_Favorito"]); sb.AppendFormat(" and mif.usuario = {0}\r\n", Propriedades.CodigoUsuario); DataTable dt_Itens = SQL.Select(sb.ToString(), "x", false); foreach (DataRow row_Item in dt_Itens.Select()) { NavBarItemLink ln = nbg.AddItem(); ln.Item.SmallImage = this.toolFav.Images[0]; ln.Item.Caption = row_Item["Descricao"].ToString(); ln.Item.LinkClicked += new NavBarLinkEventHandler(Item_LinkClicked); ln.Item.Tag = string.Format("{0};{1}" , row_Item["namespace"] , row_Item["formulario"]); } } }
internal static SecurityControlBase Show(NavBarItemLink pItem, Control pContainer) { SecurityControlBase wSecurityControl = Get(pItem); AddtoPanel(wSecurityControl, pContainer); try { wSecurityControl.Initialize(); } catch (Exception ex) { pContainer.Controls.Clear(); throw ex; } return(wSecurityControl); }
private void Form1_Load(object sender, EventArgs e) { const int GroupCount = 7; const int ItemCount = 10; navBarControl1.Groups.Clear(); for (int i = 0; i < GroupCount; i++) { NavBarGroup group = navBarControl1.Groups.Add(); group.Caption = "Group " + i.ToString(); group.Expanded = true; for (int j = 0; j < ItemCount; j++) { NavBarItemLink link = group.AddItem(); link.Item.Caption = "Item " + j.ToString(); } } }
/// <summary>刷新场景图片</summary> private void FreshSceneItem(NavBarItemLink narBarItemLink) { bool isExistThumbnail = true; string itemPath = FileHelper.GetFileAbsolutePath("Resources\\") + "item.png"; string sceneName = narBarItemLink.Caption; string pathName = FileHelper.GetFileAbsolutePath("CombVideos\\") + sceneName + ".mp4"; string imagePath = FileHelper.GetFileAbsolutePath("VideoThumbnails\\") + sceneName + ".jpg"; if (!File.Exists(imagePath)) { isExistThumbnail = VideoHelper.CreateThumbnail(pathName, imagePath); } Image image = isExistThumbnail ? Image.FromFile(imagePath) : Image.FromFile(itemPath); Bitmap bmp = new Bitmap(image); image.Dispose(); narBarItemLink.Item.LargeImage = bmp; }
public void DeleteGroupItem(int barIndex, string groupName, string itemName) { if (!IsCorrectIndex(barIndex)) { return; } NavBarControl bar = GetNavBarByIndex(barIndex); NavBarGroup group = GetNavBarGroupByName(bar, groupName); if (group == null) { return; } NavBarItemLink item = GetItemLinkByName(group, itemName); if (item == null) { return; } group.ItemLinks.Remove(item); }
/// <summary> /// 加载窗体 /// </summary> private void InitForm() { string dbserver = string.Empty; if (dao_table.GetDBcon().dbType == Sephiroth.Infrastructure.DataPersistence.Dapper.DBcon.dbtype.Oracle) { dbserver = ConfigurationManager.AppSettings["dbserver"].ToString(); } var tablename = dao_table.GetThisAllTable(dbserver); var items = tablename.OrderBy(x => x.TABLE_NAME) .Select(x => { var nbi = new NavBarItemLink(new NavBarItem { Name = x.TABLE_NAME, Caption = x.TABLE_NAME, }); nbi.Item.LinkClicked += (send, e) => { //判断当前页面是否已经打开 var pindex = this.xtraTabbedMdiManager1.Pages.FirstOrDefault(page => x.TABLE_NAME.Equals(page.Text)); //选中 if (pindex != null) { this.xtraTabbedMdiManager1.SelectedPage = pindex; return; } //创建新页面 TableForm doc = new TableForm(x); doc.Text = x.TABLE_NAME; doc.WindowState = FormWindowState.Maximized; doc.MdiParent = this; doc.Show(); }; return(nbi); }).ToArray(); this.nbg_table.ItemLinks.AddRange(items); }
/// <summary>视频合并操作</summary> /// <param name="narBarItemLink"></param> private void VideoCombine(NavBarItemLink narBarItemLink) { if (_sceneVideoInfoList.Count == 0) { MessageBox.Show("请添加视频"); return; } //等待窗口调用 ShowMessage(); foreach (var videoInfo in _sceneVideoInfoList) { string cmdConvert;//转换命令 string convertVideoName = FileHelper.GetFileAbsolutePath("SourceVideos\\") + videoInfo.VideoName + ".mp4"; string tempVideoName = FileHelper.GetFileAbsolutePath("SourceVideos\\") + videoInfo.VideoName + ".ts"; if (!videoInfo.VideoFormat.Equals(".mp4")) { cmdConvert = VideoHelper.ConvertToMp4Cmd(videoInfo.VideoPath, convertVideoName); VideoHelper.RunFFMpeg(_ffmpegPath, cmdConvert); } //文件格式转换mp4->mpegts cmdConvert = VideoHelper.Mp4ToTsCmd(convertVideoName, tempVideoName); VideoHelper.RunFFMpeg(_ffmpegPath, cmdConvert); } string itemCaption = narBarItemLink.Caption; //创建或更新视频列表.txt VideoHelper.CreateOrUpdateVideoList(_sceneVideoInfoList, itemCaption); //视频合并命令 string cmdCombine = VideoHelper.GetCombineCmd(_sceneVideoInfoList, itemCaption); if (VideoHelper.RunFFMpeg(_ffmpegPath, cmdCombine)) { //刷新当前场景的截图 FreshSceneItem(narBarItemLink); VideoHelper.DeleteTempVideos(_sceneVideoInfoList); simpleButtonCombine.Visible = false; } HideMessage(); }
private void VideoCombine1(NavBarItemLink narBarItemLink) { if (_sceneVideoInfoList.Count == 0) { MessageBox.Show("请添加视频"); return; } //等待窗口调用 ShowMessage(); for (int i = 0; i < _sceneVideoInfoList.Count; i++) { SplashScreenManager.Default.SetWaitFormCaption("正在处理第" + (i + 1) + "个视频,请稍后..."); SplashScreenManager.Default.SetWaitFormCaption("正在处理第" + (i + 1) + "个视频,请稍后..."); VideoInfo videoInfo = _sceneVideoInfoList[i]; string cmdConvert;//转换命令 string convertVideoName = FileHelper.GetFileAbsolutePath("SourceVideos\\") + videoInfo.VideoName + ".mp4"; string tempVideoName = FileHelper.GetFileAbsolutePath("SourceVideos\\") + videoInfo.VideoName + ".ts"; if (!videoInfo.VideoFormat.Equals(".mp4")) { cmdConvert = VideoHelper.ConvertToMp4Cmd(videoInfo.VideoPath, convertVideoName); VideoHelper.RunFFMpeg(_ffmpegPath, cmdConvert); } //文件格式转换mp4->mpegts cmdConvert = VideoHelper.Mp4ToTsCmd(convertVideoName, tempVideoName); VideoHelper.RunFFMpeg(_ffmpegPath, cmdConvert); } string itemCaption = narBarItemLink.Caption; //创建或更新视频列表.txt VideoHelper.CreateOrUpdateVideoList(_sceneVideoInfoList, itemCaption); //视频合并命令 string cmdCombine = VideoHelper.GetCombineCmd(_sceneVideoInfoList, itemCaption); VideoHelper.RunFFMpeg(_ffmpegPath, cmdCombine); //刷新当前场景的截图 FreshSceneItem(narBarItemLink); VideoHelper.DeleteTempVideos(_sceneVideoInfoList); HideMessage(); }
/// <summary> /// 注销登录 /// </summary> public void Logout() { bbiUser.Caption = Program.infoResource.GetLocalizedString(InfoId.Tourist); UserName = bbiUser.Caption; //修改视图权限 //Program.permissionManager.ActivePermission = 3; //Program.permissionManager.ApplyPermission(this); //修改按钮为未选中状态 if (activeBarItem != null && activeBarItem.ImageOptions.DisabledLargeImage != null) { activeBarItem.ImageOptions.LargeImage = activeBarItem.ImageOptions.DisabledLargeImage; activeBarItem.ImageOptions.Image = activeBarItem.ImageOptions.LargeImage; } //回到实时监测界面 activeBarItem = bbiRealtimeMonitoring; NavBarItemLink link = new NavBarItemLink(new NavBarItem(bbiRealtimeMonitoring.Name)); link.Item.Tag = bbiRealtimeMonitoring.Tag; modulesNavigator.ChangeSelectedItem(link, null); //200215注销按钮不可见 bbiLogout2.Visibility = BarItemVisibility.Never; //200215弹窗关闭 FormCollection collection = Application.OpenForms; for (int i = Application.OpenForms.Count - 1; i > -1; i--) { try { if (Application.OpenForms[i] != this) { Application.OpenForms[i].Close(); } } catch { } } }
internal static SecurityControlBase Show(NavBarItemLink pItem, Control pContainer) { SecurityControlBase wSecurityControl = Get(pItem); AddtoPanel(wSecurityControl, pContainer); try { wSecurityControl.Initialize(); } catch (Exception ex) { pContainer.Controls.Clear(); throw ex; } return wSecurityControl; }
public void ChangeSelectedItem(NavBarItemLink link, object moduleData) { bool allowSetVisiblePage = true; NavBarGroupTagObject groupObject = link.Item.Tag as NavBarGroupTagObject; if (groupObject == null) return; List<RibbonPage> deferredPagesToShow = new List<RibbonPage>(); foreach (RibbonPage page in ribbon.Pages) { if (!string.IsNullOrEmpty(string.Format("{0}", page.Tag))) { bool isPageVisible = groupObject.Name.Equals(page.Tag); if (isPageVisible != page.Visible && isPageVisible) deferredPagesToShow.Add(page); else page.Visible = isPageVisible; } if (page.Visible && allowSetVisiblePage) { //page.Text = "Home"; ribbon.SelectedPage = page; allowSetVisiblePage = false; } } bool firstShow = groupObject.Module == null; if (firstShow) { if (SplashScreenManager.Default == null) SplashScreenManager.ShowForm(ribbon.FindForm(), typeof(wfMain), false, true); ConstructorInfo constructorInfoObj = groupObject.ModuleType.GetConstructor(Type.EmptyTypes); if (constructorInfoObj != null) { groupObject.Module = constructorInfoObj.Invoke(null) as BaseModule; groupObject.Module.InitModule(ribbon, moduleData); } if (SplashScreenManager.Default != null) { Form frm = moduleData as Form; if (frm != null) { if (SplashScreenManager.FormInPendingState) SplashScreenManager.CloseForm(); else SplashScreenManager.CloseForm(false, 500, frm); } else SplashScreenManager.CloseForm(); } } foreach (RibbonPage page in deferredPagesToShow) { page.Visible = true; } foreach (RibbonPage page in ribbon.Pages) { if (page.Visible) { ribbon.SelectedPage = page; break; } } if (groupObject.Module != null) { if (panel.Controls.Count > 0) { BaseModule currentModule = panel.Controls[0] as BaseModule; if (currentModule != null) currentModule.HideModule(); } panel.Controls.Clear(); panel.Controls.Add(groupObject.Module); groupObject.Module.Dock = DockStyle.Fill; groupObject.Module.ShowModule(firstShow); } }
//处理item切换之前的事务 private void navBarControl1_LinkPressed(object sender, NavBarLinkEventArgs e) { _navBarItemLink = navBarGroupVideos.SelectedLink; }
/// <summary> /// 打开窗口 /// </summary> /// <param name="itemlink"></param> private void OpenFrm(NavBarItemLink itemlink) { if (null == itemlink||string.IsNullOrEmpty(itemlink.Caption)) return; foreach (Form fr in this.MdiChildren) { fr.Close(); } NameObjectList pstrans = new NameObjectList(); pstrans["功能单元"] = itemlink.Caption; BindManager.setTransParam(pstrans); switch (itemlink.Caption) { //系统配置 case "卡片参数配置": FrmCardParam CardParam = new FrmCardParam(); CardParam.MdiParent = this; CardParam.WindowState = FormWindowState.Maximized; CardParam.Show(); break; //停车场 case "入场记录和图像": ParkMgr.FrmInQueryManage InQueryManage = new Granity.granityMgr.ParkMgr.FrmInQueryManage(); InQueryManage.MdiParent = this; InQueryManage.WindowState = FormWindowState.Maximized; InQueryManage.Show(); break; case "出场记录和图像": FrmOutQueryManage OutQueryManage = new FrmOutQueryManage(); OutQueryManage.MdiParent = this; OutQueryManage.WindowState = FormWindowState.Maximized; OutQueryManage.Show(); break; case "场内停车记录": ParkMgr.FrmQueryManage QueryManage = new Granity.granityMgr.ParkMgr.FrmQueryManage(); QueryManage.MdiParent = this; QueryManage.WindowState = FormWindowState.Maximized; QueryManage.Show(); break; case "操作员交接班记录": FrmOper Oper = new FrmOper(); Oper.MdiParent = this; Oper.WindowState = FormWindowState.Maximized; Oper.Show(); break; case "停车场管理": FrmParkStallSet ParkStallSet = new FrmParkStallSet(); ParkStallSet.MdiParent = this; ParkStallSet.WindowState = FormWindowState.Maximized; ParkStallSet.Show(); break; case "参数下载": FrmDownParam EateryManage = new FrmDownParam(); EateryManage.MdiParent = this; EateryManage.WindowState = FormWindowState.Maximized; EateryManage.Show(); break; case "入场车流量统计表": ParkMgr.Report.FrmIntVehicleNumberTotal VehicleNumberTotal = new Granity.granityMgr.ParkMgr.Report.FrmIntVehicleNumberTotal(); VehicleNumberTotal.MdiParent = this; VehicleNumberTotal.WindowState = FormWindowState.Maximized; VehicleNumberTotal.Show(); break; case "出场车流量统计表": ParkMgr.Report.FrmCarOutTotal CarOutTotal = new Granity.granityMgr.ParkMgr.Report.FrmCarOutTotal(); CarOutTotal.MdiParent = this; CarOutTotal.WindowState = FormWindowState.Maximized; CarOutTotal.Show(); break; case "停车场收费统计表": ParkMgr.Report.FrmParkTotal ParkTotal = new Granity.granityMgr.ParkMgr.Report.FrmParkTotal(); ParkTotal.MdiParent = this; ParkTotal.WindowState = FormWindowState.Maximized; ParkTotal.Show(); break; case "收费员收费统计表": ParkMgr.Report.FrmOperatorTotal OperatorTotal = new Granity.granityMgr.ParkMgr.Report.FrmOperatorTotal(); OperatorTotal.MdiParent = this; OperatorTotal.WindowState = FormWindowState.Maximized; OperatorTotal.Show(); break; case "视频监控": ParkMgr.FrmStationWatchingII StationWatching = new Granity.granityMgr.ParkMgr.FrmStationWatchingII(); //ParkMgr.FrmStatonWatchingStandard StationWatching = new Granity.granityMgr.ParkMgr.FrmStatonWatchingStandard(); StationWatching.WindowState = FormWindowState.Maximized; StationWatching.Show(); break; case "权限设置": ParkMgr.FrmRight ParkRight = new Granity.granityMgr.ParkMgr.FrmRight(); ParkRight.MdiParent = this; ParkRight.WindowState = FormWindowState.Maximized; ParkRight.Show(); break; //门禁系统 case "有效时段": BaseDicinfo.FrmEffectiveTimeList EffTime = new Granity.granityMgr.BaseDicinfo.FrmEffectiveTimeList(); EffTime.MdiParent = this; EffTime.WindowState = FormWindowState.Maximized; EffTime.Show(); break; case "设备资料": Granity.granityMgr.BaseDicinfo.FrmDoorControlBaseinfo BaseInfo = new Granity.granityMgr.BaseDicinfo.FrmDoorControlBaseinfo(); BaseInfo.MdiParent = this; BaseInfo.WindowState = FormWindowState.Maximized; BaseInfo.Show(); break; case "开门记录查询": Report.FrmOpenDoorRecord OpenRecord = new Report.FrmOpenDoorRecord(); OpenRecord.MdiParent = this; OpenRecord.WindowState = FormWindowState.Maximized; OpenRecord.Show(); break; case "门禁卡信息": BaseDicinfo.FrmDoorCardInfo CardInfo = new Granity.granityMgr.BaseDicinfo.FrmDoorCardInfo(); CardInfo.MdiParent = this; CardInfo.WindowState = FormWindowState.Maximized; CardInfo.Show(); break; case "门禁监控": FrmDoorMonitor DoorMonitor = new FrmDoorMonitor(); DoorMonitor.MdiParent = this; DoorMonitor.WindowState = FormWindowState.Maximized; DoorMonitor.Show(); break; case "门禁权限": BaseDicinfo.FrmRight Right = new Granity.granityMgr.BaseDicinfo.FrmRight(); Right.MdiParent = this; Right.WindowState = FormWindowState.Maximized; Right.Show(); break; case "门用户": BaseDicinfo.FrmDorUsers dorUser = new Granity.granityMgr.BaseDicinfo.FrmDorUsers(); dorUser.MdiParent = this; dorUser.WindowState = FormWindowState.Maximized; dorUser.Show(); break; case "门禁管理": FrmDownParam DoorManager = new FrmDownParam(); DoorManager.MdiParent = this; DoorManager.WindowState = FormWindowState.Maximized; DoorManager.Show(); break; case "停车场卡信息": ParkMgr.FrmCarParkInfo parkCard = new Granity.granityMgr.ParkMgr.FrmCarParkInfo(); parkCard.MdiParent = this; parkCard.WindowState = FormWindowState.Maximized; parkCard.Show(); break; //卡务中心 case "发行管理": FrmCardMakeS CardMakeS = new FrmCardMakeS(); CardMakeS.MdiParent = this; CardMakeS.WindowState = FormWindowState.Maximized; CardMakeS.Show(); break; case "卡片管理": FrmCardManager CardManager = new FrmCardManager(); CardManager.MdiParent = this; CardManager.WindowState = FormWindowState.Maximized; CardManager.Show(); break; case "发行器设置": FrmDevSet DevSet = new FrmDevSet(); DevSet.MdiParent = this; DevSet.WindowState = FormWindowState.Maximized; DevSet.Show(); break; case "卡片发行记录": FrmCardMakeRpt CardMakeRpt = new FrmCardMakeRpt(); CardMakeRpt.MdiParent = this; CardMakeRpt.WindowState = FormWindowState.Maximized; CardMakeRpt.Show(); break; case "卡片充值记录": FrmCardPayRep CardPayRpt = new FrmCardPayRep(); CardPayRpt.MdiParent = this; CardPayRpt.WindowState = FormWindowState.Maximized; CardPayRpt.Show(); break; case "卡片延期记录": FrmCardDelayRpt CardDelayRpt = new FrmCardDelayRpt(); CardDelayRpt.MdiParent = this; CardDelayRpt.WindowState = FormWindowState.Maximized; CardDelayRpt.Show(); break; case "退卡记录": FrmCardQuitRtp CardQuitRpt = new FrmCardQuitRtp(); CardQuitRpt.MdiParent = this; CardQuitRpt.WindowState = FormWindowState.Maximized; CardQuitRpt.Show(); break; case "卡片挂失解挂记录": FrmCardLostRpt CardLostRpt = new FrmCardLostRpt(); CardLostRpt.MdiParent = this; CardLostRpt.WindowState = FormWindowState.Maximized; CardLostRpt.Show(); break; //考勤系统 case "部门排班查询": FrmDeptScheduleRpt DeptScheduleRpt = new FrmDeptScheduleRpt(); DeptScheduleRpt.MdiParent = this; DeptScheduleRpt.WindowState = FormWindowState.Maximized; DeptScheduleRpt.Show(); break; case "员工打卡查询": FrmHitCardRpt HitCardRpt = new FrmHitCardRpt(); HitCardRpt.MdiParent = this; HitCardRpt.WindowState = FormWindowState.Maximized; HitCardRpt.Show(); break; case "法定假日维护": FrmHolidaySet HolidaySet = new FrmHolidaySet(); HolidaySet.MdiParent = this; HolidaySet.WindowState = FormWindowState.Maximized; HolidaySet.Show(); break; case "部门休息日维护": FrmDeptRest DeptRest = new FrmDeptRest(); DeptRest.MdiParent = this; DeptRest.WindowState = FormWindowState.Maximized; DeptRest.Show(); break; case "班制定义": FrmClass Class = new FrmClass(); Class.MdiParent = this; Class.WindowState = FormWindowState.Maximized; Class.Show(); break; case "部门班制": FrmDeptClass DeptClass = new FrmDeptClass(); DeptClass.MdiParent = this; DeptClass.WindowState = FormWindowState.Maximized; DeptClass.Show(); break; case "考勤登记": FrmEmployeeRegister Register = new FrmEmployeeRegister(); Register.MdiParent = this; Register.WindowState = FormWindowState.Maximized; Register.Show(); break; case "部门排班": FrmMakeClass makeClass = new FrmMakeClass(); makeClass.MdiParent = this; makeClass.WindowState = FormWindowState.Maximized; makeClass.Show(); break; case "考勤明细查询": Granity.granityMgr.CheckWork.Report.FrmCheckWorkList CheckWork = new Granity.granityMgr.CheckWork.Report.FrmCheckWorkList(); CheckWork.MdiParent = this; CheckWork.WindowState = FormWindowState.Maximized; CheckWork.Show(); break; //消费 case "餐厅维护": FrmRestaurant Restaurant = new FrmRestaurant(); Restaurant.MdiParent = this; Restaurant.WindowState = FormWindowState.Maximized; Restaurant.Show(); break; case "补助管理": FrmAddMoney AddMoney = new FrmAddMoney(); AddMoney.MdiParent = this; AddMoney.WindowState = FormWindowState.Maximized; AddMoney.Show(); break; case "现金收入登记": FrmCashRegisterII cashReg = new FrmCashRegisterII(); cashReg.MdiParent = this; cashReg.WindowState = FormWindowState.Maximized; cashReg.Show(); break; case "消费查询": FrmConsumeRecord ConsumeRecord = new FrmConsumeRecord(); ConsumeRecord.MdiParent = this; ConsumeRecord.WindowState = FormWindowState.Maximized; ConsumeRecord.Show(); break; case "充值补助退款查询": FrmAddReduceMoney AddReduceMoney = new FrmAddReduceMoney(); AddReduceMoney.MdiParent = this; AddReduceMoney.WindowState = FormWindowState.Maximized; AddReduceMoney.Show(); break; case "消费统计查询": FrmConsumeSum ConsumeSum = new FrmConsumeSum(); ConsumeSum.MdiParent = this; ConsumeSum.WindowState = FormWindowState.Maximized; ConsumeSum.Show(); break; case "消费机收入汇总": FrmCosumeMac ConsumeMac = new FrmCosumeMac(); ConsumeMac.MdiParent = this; ConsumeMac.WindowState = FormWindowState.Maximized; ConsumeMac.Show(); break; case "现金报表": FrmCashSum CashSum = new FrmCashSum(); CashSum.MdiParent = this; CashSum.WindowState = FormWindowState.Maximized; CashSum.Show(); break; case "消费机管理": FrmDownParam eateryManage = new FrmDownParam(); eateryManage.MdiParent = this; eateryManage.WindowState = FormWindowState.Maximized; eateryManage.Show(); break; case "消费监控": FrmEateryMonitor frmeaterymtr = new FrmEateryMonitor(); frmeaterymtr.MdiParent = this; frmeaterymtr.WindowState = FormWindowState.Maximized; frmeaterymtr.Show(); break; // 用户管理 case "用户信息": FrmUserManager UserManager = new FrmUserManager(); UserManager.MdiParent = this; UserManager.WindowState = FormWindowState.Maximized; UserManager.Show(); break; case "公司员工": FrmEmployees Employees = new FrmEmployees(); Employees.MdiParent = this; Employees.WindowState = FormWindowState.Maximized; Employees.Show(); break; case "角色定义": FrmSysRoles role = new FrmSysRoles(); role.MdiParent = this; role.WindowState = FormWindowState.Maximized; role.Show(); break; case "修改密码": FrmUpdatePass pass = new FrmUpdatePass(); pass.ShowDialog(); break; //case "用户信息": // FrmSysUsers ps= new FrmSysUsers(); // ps.MdiParent = this; // ps.WindowState = FormWindowState.Maximized; // ps.Show(); // break; } }
protected override void RaiseLinkClicked(NavBarItemLink link) { WaitDialogHelper.Show(); try { if ((this._link != null) && (this._link.Length > 0)) { new LinkCommand(this.Link).Run(); } else if (StringHelper.IsNull(this._class)) { BoxService.OpenBox(this._boxName); this.Refresh(); } else { ICommand command2 = (ICommand) Assembly.GetExecutingAssembly().CreateInstance(this._class, true); if (command2 == null) { Type type = Type.GetType(this._class); if (type != null) { command2 = (ICommand) Activator.CreateInstance(type); } } if (command2 != null) { command2.Owner = this; command2.Run(); } } } finally { WaitDialogHelper.Close(); } base.RaiseLinkClicked(link); }
internal static SecurityControlBase Get(NavBarItemLink pItem) { bool isNew; return Get(pItem.Item.Tag.ToString(), out isNew); }
private void barButtonItemSuaNhom_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (navBarControl1.SelectedLink != null) { Selected_NavBarItem = new NavBarItem(); Selected_NavBarItem = navBarControl1.SelectedLink.Item; List<NavBarItem> ListItem = new List<NavBarItem>(); SelectItem = navBarControl1.SelectedLink; foreach (NavBarItem item in navBarControl1.Items) ListItem.Add(item); frmThemNhom frm = new frmThemNhom(Selected_NavBarItem, Rows_Field_Names, ListItem, true); frm.Sua_Nhom += new frmThemNhom.Refresh_Sua_Nhom(UpdateSuaNhom); ProtocolForm.ShowModalDialog(this, frm); } else PLMessageBox.ShowNotificationMessage("Vui lòng chọn nhóm cần sửa!"); }
private void LoadNav() { Dictionary <string, bool> dict = new Dictionary <string, bool>(); foreach (NavBarGroup nbg in navBarControl1.Groups) { dict.Add(nbg.Caption, nbg.Expanded); } navBarControl1.Groups.Clear(); var groups = Access.UnitType.GetUnitTypeList(); NavBarGroup nb2 = new NavBarGroup("数据源"); List <Model.T_BASE_SJYPZModel> sjys = Access.DataSource.GetAllSJYPZ(); foreach (Model.T_BASE_SJYPZModel mm in sjys) { NavBarItem ni = new NavBarItem(mm.PZMC); NavBarItemTag nbt = new NavBarItemTag(mm.PZMC, "Careysoft.Dotnet.Tools.SqlData.ManageClient.DataSource.FormMain", "Careysoft.Dotnet.Tools.SqlData.ManageClient.exe", mm.PZBM); ni.Tag = nbt; ni.LinkClicked += new NavBarLinkEventHandler(ShowForm); navBarControl1.Items.Add(ni); NavBarItemLink nil = new NavBarItemLink(ni); nb2.ItemLinks.Add(nil); } nb2.Expanded = dict.ContainsKey("数据源") ? dict["数据源"] : true;//true; navBarControl1.Groups.Add(nb2); NavBarGroup nb3 = new NavBarGroup("任务组"); List <Model.T_D_TASK_MSTModel> tasks = Access.Task.GetAllTask(); foreach (Model.T_D_TASK_MSTModel mm in tasks) { NavBarItem ni = new NavBarItem(mm.TASKNAME); NavBarItemTag nbt = new NavBarItemTag(mm.TASKNAME, "Careysoft.Dotnet.Tools.SqlData.ManageClient.Task.FormMain", "Careysoft.Dotnet.Tools.SqlData.ManageClient.exe", mm.ID); ni.Tag = nbt; ni.LinkClicked += new NavBarLinkEventHandler(ShowForm); navBarControl1.Items.Add(ni); NavBarItemLink nil = new NavBarItemLink(ni); nb3.ItemLinks.Add(nil); } nb3.Expanded = dict.ContainsKey("任务组") ? dict["任务组"] : true; navBarControl1.Groups.Add(nb3); List <Model.T_BASE_UNITTYPEModel> unittypes = Access.UnitType.GetUnitTypeList("SQLDATAS_SQLZ"); List <Model.T_D_SQLDATA_MSTModel> sqlDatas = Access.SqlData.GetAllSqlDataList(); foreach (Model.T_BASE_UNITTYPEModel m in unittypes) { NavBarGroup nb = new NavBarGroup(m.LXMC); nb.Tag = m.LXBM; List <Model.T_D_SQLDATA_MSTModel> slist = sqlDatas.FindAll(delegate(Model.T_D_SQLDATA_MSTModel mm) { return(mm.UNITTYPEID == m.LXBM); }); foreach (Model.T_D_SQLDATA_MSTModel mm in slist) { NavBarItem ni = new NavBarItem(mm.SQLDATANAME); NavBarItemTag nbt = new NavBarItemTag(mm.SQLDATANAME, "Careysoft.Dotnet.Tools.SqlData.ManageClient.SqlData.FormMain", "Careysoft.Dotnet.Tools.SqlData.ManageClient.exe", mm.ID); ni.Tag = nbt; ni.LinkClicked += new NavBarLinkEventHandler(ShowForm); navBarControl1.Items.Add(ni); NavBarItemLink nil = new NavBarItemLink(ni); if (mm.SFJY == 1) { nil.Item.Appearance.ForeColor = Color.DarkGray; } if (mm.SQLDATANAME.IndexOf("(") > 0) { nil.Item.Appearance.ForeColor = Color.FromArgb(255, 128, 128); } nb.ItemLinks.Add(nil); } nb.Expanded = dict.ContainsKey(m.LXMC) ? dict[m.LXMC] : true;; navBarControl1.Groups.Add(nb); } }
private NavBarItemLink FindNearItemLink(bool forward) { NavBarItemLink link = SelectedLink; NavBarGroup group; if (link == null) { group = NextGroup(null, forward); } else { group = link.Group; } if (group == null) { return(null); } NavBarGroup startGroup = group; int i; if (link != null) { i = group.ItemLinks.IndexOf(link); } else { i = (forward) ? -1 : group.ItemLinks.Count; } bool repeat = false; do { if (forward) { if (i < group.ItemLinks.Count - 1) { return(group.ItemLinks[i + 1]); } else { group = NextGroup(group, forward); repeat = i > 0; i = -1; } } else { if (i > 0 && group.ItemLinks.Count > 0) { return(group.ItemLinks[i - 1]); } else { group = NextGroup(group, forward); repeat = i < group.ItemLinks.Count - 1; i = group.ItemLinks.Count; } } }while (group != startGroup || repeat); return(null); }
protected override void RaiseLinkClicked(NavBarItemLink link) { _command.Run(); base.RaiseLinkClicked(link); }
public void InitMenuTree(NavBarControl navBarControl, string xmlPath) { var doc = XDocument.Load(xmlPath); var menuGroups = doc.Root.Elements("MenuGroup"); var navBarGroupList = new List <NavBarGroup>(); if (doc.Root.Attribute("IsClear").Value.ToLower().Equals("true")) { navBarControl.Items.Clear(); navBarControl.Groups.Clear(); } menuGroups.ToList().ForEach(elementGroup => { NavBarGroup navBarGroup = null; var groupEnumerator = navBarControl.Groups.GetEnumerator(); while (groupEnumerator.MoveNext()) { var navBarGroupTemp = groupEnumerator.Current as NavBarGroup; if (navBarGroupTemp.Name == elementGroup.Attribute("Name").Value) { navBarGroup = navBarGroupTemp; break; } } if (navBarGroup == null) { navBarGroup = new NavBarGroup() { Name = elementGroup.Attribute("Name").Value, Caption = elementGroup.Attribute("Describe").Value, Expanded = elementGroup.Attribute("Expanded") == null ? false : (elementGroup.Attribute("Expanded").Value.ToLower().Equals("true") ? true : false) }; navBarGroupList.Add(navBarGroup); } var menuItems = elementGroup.Elements("MenuItem").Where(item => item.Attribute("IsShowing").Value.ToLower().Equals("true")); menuItems.ToList().ForEach(elementItem => { NavBarItem navBarItem = null; var itemEnumerator = navBarControl.Items.GetEnumerator(); while (itemEnumerator.MoveNext()) { var navBarItemTemp = itemEnumerator.Current as NavBarItem; if (navBarItemTemp.Name == elementItem.Attribute("Name").Value) { navBarItem = navBarItemTemp; break; } } if (navBarItem == null) { navBarItem = new NavBarItem() { Name = elementItem.Attribute("Name").Value, Caption = elementItem.Attribute("Describe").Value, //SmallImage = Image.FromFile(elementItem.Attribute("IconPath").Value), Tag = new MenuActionArgs { Type = elementItem.Attribute("Type").Value, NameSpace = elementItem.Attribute("NameSpace").Value, ClassName = elementItem.Attribute("ClassName").Value, Describe = elementItem.Attribute("Describe").Value } }; navBarItem.LinkClicked += NavBarItemLinkClicked; var navBarItemLink = new NavBarItemLink(navBarItem); navBarControl.Items.Add(navBarItem); navBarGroup.ItemLinks.Add(navBarItemLink); } }); }); navBarControl.Groups.AddRange(navBarGroupList.ToArray()); }
public void ChangeSelectedItem(NavBarItemLink link, object moduleData) { bool allowSetVisiblePage = true; NavBarGroupTagObject groupObject = link.Item.Tag as NavBarGroupTagObject; if (groupObject == null) { return; } List <RibbonPage> deferredPagesToShow = new List <RibbonPage>(); foreach (RibbonPage page in ribbon.Pages) { if (!string.IsNullOrEmpty(string.Format("{0}", page.Tag))) { bool isPageVisible = groupObject.Name.Equals(page.Tag); if (isPageVisible != page.Visible && isPageVisible) { deferredPagesToShow.Add(page); } else { page.Visible = isPageVisible; } } if (page.Visible && allowSetVisiblePage) { //page.Text = "Home"; ribbon.SelectedPage = page; allowSetVisiblePage = false; } } bool firstShow = groupObject.Module == null; if (firstShow) { if (SplashScreenManager.Default == null) { SplashScreenManager.ShowForm(ribbon.FindForm(), typeof(DevExpress.ProductsDemo.Win.Forms.wfMain), false, true); } ConstructorInfo constructorInfoObj = groupObject.ModuleType.GetConstructor(Type.EmptyTypes); if (constructorInfoObj != null) { try { groupObject.Module = constructorInfoObj.Invoke(null) as BaseModule; groupObject.Module.InitModule(ribbon, moduleData); _currentModuleName = link.Caption; } catch (Exception e) { var entryAsm = Assembly.GetEntryAssembly(); string msg = string.Format("Error on Showing Module: {0}\r\nPrevModule: {1}\r\nStartUp: {2}", link.Caption, _currentModuleName, (entryAsm != null ? entryAsm.Location : string.Empty)); throw new ApplicationException(msg, e); } } if (SplashScreenManager.Default != null) { Form frm = moduleData as Form; if (frm != null) { if (SplashScreenManager.FormInPendingState) { SplashScreenManager.CloseForm(); } else { SplashScreenManager.CloseForm(false, 500, frm); } } else { SplashScreenManager.CloseForm(); } } } ribbon.ColorScheme = groupObject.RibbonScheme; foreach (RibbonPage page in deferredPagesToShow) { page.Visible = true; } foreach (RibbonPage page in ribbon.Pages) { if (page.Visible) { ribbon.SelectedPage = page; break; } } if (groupObject.Module != null) { if (panel.Controls.Count > 0) { BaseModule currentModule = panel.Controls[0] as BaseModule; if (currentModule != null) { currentModule.HideModule(); } } panel.Controls.Clear(); panel.Controls.Add(groupObject.Module); groupObject.Module.Dock = DockStyle.Fill; groupObject.Module.ShowModule(firstShow); } }