C# C/S结构数据库系统框架详解(三) 如何新建一个模块(InventoryModule)[vjsdn]
1. 新增一个Class Library项目,命名为vjsdn.CS3Layers_Framework.InventoryModule.
2. 在项目内新增一个Inherited Form,命名为frmModuleMain,按Add按钮,选择frmModuleBase基类.
3. 在ModuleID枚举新增一个枚举类型,命名为InventoryModule=4.
/// <summary>
/// 模块编号
/// </summary>
public enum ModuleID
{
None = 0,
TestModule1 = 1,
TestModule2 = 2,
SystemManage = 3,
InventoryModule=4 //库存模块
}
4. 展开项目的Properties结点,打开AssemblyInfo.cs文件, 加入下面代码:
[assembly: AssemblyModuleEntry(ModuleID.InventoryModule, "库存模块", "vjsdn.CS3Layers_Framework.InventoryModule.frmModuleMain")]
这步非常重要,需要指定ModuleID,模块名称和模块主窗体的名字空间. 模块名称需要与模块主窗体菜单的名字一致!请看第8步菜单名称.
5.在frmModuleMain窗体内加入一个menuStrip控件,修改一级菜单的Text属性为库存模块.另加两个子菜单为库存查询和库存盘点.
6.在frmModuleMain窗体pnlContainer控件内加两上按钮命名为btnQuery,btnChecking.分别在Click事件内
输入
MessageBox.Show((sender as Button).Text);
7.子菜单[库存查询]的Click事件设为btnQuery_Click
8.子菜单[库存盘点]的Click事件设为btnChecking_Click, 下图是窗体设计状态
9.重写GetModuleMenu方法
public override MenuStrip GetModuleMenu()
{
menuStrip1.Text = "库存模块"; //与AssemblyModuleEntry.ModuleName定义相同
return this.menuStrip1;
}
设计后的代码:
namespace vjsdn.CS3Layers_Framework.InventoryModule
{
//库存模块主窗体
public partial class frmModuleMain : vjsdn.CS3Layers_Framework.Library.frmModuleBase
{
public frmModuleMain()
{
InitializeComponent();
}
public override MenuStrip GetModuleMenu()
{
menuStrip1.Text = "库存模块"; //与AssemblyModuleEntry.ModuleName定义相同
return this.menuStrip1;
}
private void btnChecking_Click(object sender, EventArgs e)
{
MessageBox.Show((sender as Button).Text);
}
private void btnQuery_Click(object sender, EventArgs e)
{
MessageBox.Show((sender as Button).Text);
}
}
}
10.设置项目的output path为: ..\Debug\, 所有编译的程序放在同一目录.
编译后运行:
图中有四个业务模块,库存模块是新增的.
全部链接:
1.C/S结构数据库系统框架详解
http://www.vjsdn.net/bbs/bbsTopicDetails.aspx?pid=109201218
2.ModuleManager详解
http://www.vjsdn.net/bbs/bbsTopicDetails.aspx?pid=109201219
3.如何新建一个模块
http://www.vjsdn.net/bbs/bbsTopicDetails.aspx?pid=109201220
4.C/S结构数据库系统框架源代码
http://www.vjsdn.net/bbs/bbsTopicDetails.aspx?pid=109201221