二,主模块设计
主模块设计示例:
上一次提到MDImain窗体,就是这次模块设计的主要设计对象。主模块主要是为管理员起到导航作用,主要分为菜单栏和主体两部分,管理员可根据想要操作的模块,在菜单栏或是在主体中查到对应导航。
主模块中添加一个MenuStrip控件,一个Label控件,一个StatuStrip控件,五个个Panel控件和四个LinkLabel控件,有关MenuStrip控件属性值设置和StatusStrip控件属性值设置可查看对应程序,其他控件和窗体的属性设置文档为:
MenuStrip控件中需要添加的是ToolMenuStrip对象,在客户管理系统中需要依次添加ToolMenuStrip对象的名称为:客户管理,服务管理,投诉管理,更改密码,关于软件,退出系统。如果在后面的模块设计过程中需要更改再进行必要的修改和完善。
StatusStrip控件主要是显示管理人员的登录名称信息,在登录模块设计的时候已经把登录名称传递给了MDImain窗体,并且在主模块的状态栏显示登录名称,在主模块设计中需要给MDImain窗体的构造函数写入的代码为:
<span style="font-size:18px;">public MDImain(string s) { InitializeComponent(); tssl_name.Text = s;//将登录名称传递给MDImain窗体的状态栏 }</span>
主窗体主要起导航作用,所以有关代码上主要是处理显示对于模块的信息,但是这哟个对初学都很容易忽略的问题,也就是当主模块退出后,要将隐藏的登录窗体也要退出,也就是说退出所有程序,这就是处理主窗体的FromClosing事件,代码为:
<span style="font-size:18px;"> private void MDImain_FormClosing(object sender, FormClosingEventArgs e)//主窗体的FormClosing事件 { DialogResult result = MessageBox.Show("你确认退出客户管理系统", "退出对话框", MessageBoxButtons.YesNo);//显示对话框 if (result==DialogResult.Yes) { this.Dispose();//释放窗体 Application.Exit();//退出程序 } else { e.Cancel = true;//取消事件 } }</span>
对于菜单栏中的各个对象的实现我们会在后序的模块设计中逐渐实现,在模块设计完整后再来进行主模块的代码修改和完善,先进行写入退出系统对象的代码:
<span style="font-size:18px;">private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e)//菜单栏中退出系统的Click事件 { Application.Exit();//退出程序 }</span>
对于Panel容器中的控件应用我们也会在逐步完善的过程中加入代码,也是先来进行退出系统代码的写入:
<span style="font-size:18px;"> private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)//容器中退出系统的Click事件 { Application.Exit();//退出程序 }</span>
还有待完善的主模块窗体的代码为;
<span style="font-size:18px;">using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 客户管理系统 { public partial class MDImain : Form { public MDImain(string s) { InitializeComponent(); tssl_name.Text = s;//将登录名称传递给MDImain窗体的状态栏 } private void MDImain_FormClosing(object sender, FormClosingEventArgs e)//主窗体的FormClosing事件 { DialogResult result = MessageBox.Show("你确认退出客户管理系统", "退出对话框", MessageBoxButtons.YesNo);//显示对话框 if (result==DialogResult.Yes) { this.Dispose();//释放窗体 Application.Exit();//退出程序 } else { e.Cancel = true;//取消事件 } } private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e)//菜单栏中退出系统的Click事件 { Application.Exit();//退出程序 } private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)//容器中退出系统的Click事件 { Application.Exit();//退出程序 } } }</span>
运行整个程序:
输入正确的登录名称和登录密码:admin和123456进入客户管理系统的主模块:
当要退出客户管理系统时:可以使用三种退出方法。