#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);
}
}
}
}