#region using System; using System.Text; using System.Windows.Forms; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using DevExpress.XtraTab; #endregion ///*************************************************************************/ ///* ///* 文件名 :ModuleLoadDevComponent.cs ///* 程序说明 : 加载引用Dev控件的模块 ///* 原创作者 :www.csframework.com ///* ///* Copyright 2006-2021 C/S框架网 www.csframework.com ///* ///**************************************************************************/ namespace CSFrameworkV5.Library.CommonClass { /// /// 加载引用Dev控件的模块 /// public class ModuleLoadDevComponent : ModuleLoaderBase { /// /// 获取模块主窗体顶级菜单名称 /// /// private string GetModuleTopMenuNames() { var ms = _ModuleMainForm.GetModuleMenu(); var sb = new StringBuilder(); foreach (ToolStripItem item in ms.Items) sb.Append("," + item.Name); return sb.ToStringEx(); } /// /// 每个模块对应一个TabPage, 將模块主窗体的Panel容器集成在主窗体的TabPage页内。 /// 所有加载的模块主窗体的Panel容器都嵌套在主窗体的TabControl内。 /// public override void LoadGUI(object mainTabControl) { if (mainTabControl == null) return; if (mainTabControl is XtraTabControl == false) return; //主窗体的TabControl组件 var xtraTabControl = mainTabControl as XtraTabControl; try { //获取模块主窗体的Panel容器 var container = _ModuleMainForm.GetContainer(); if (null != container) { container.Dock = DockStyle.Fill; var page = new XtraTabPage(); page.Tag = _ModuleMainForm; //模块窗体 page.AccessibleDescription = GetModuleTopMenuNames(); //用于激活当前窗体 page.Text = _ModuleMainForm .ModuleName; //取模块名称// this.GetCurrentModuleName(); page.Controls.Add(container); //嵌套在主窗体的TabControl内 xtraTabControl.TabPages.Add(page); } } catch (Exception ex) { Msg.ShowException(ex); } } } }