人事管理系统实现(二)
2017-02-06 10:18
330 查看
实现完毕登陆窗体,进入系统后将看到系统的主界面,主界面中提供了各种需要的功能,功能的需求来源于客户的的需求,对此,简单的设计了几个功能,上一节中启动窗体设置为主窗体,所以我们使用窗体的Tag属性来实现窗口的正确调用,调用过程将在后文进行解释;
在本节中,需要使用到一个类MyModule类,其能够实现对于窗体的调用,通过一个附加参数进行区分。同时,这个类设计了很多操作方法,这些方法会在后续的不同的窗体中使用到,也可以说,这个类的设计也是这个系统实现的关键点之一,这个类将会在后续的文章中进行叙述。
登陆界面的设计如下:
![](https://img-blog.csdn.net/20170206151728888?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTg4NzAxMjc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
所使用的控件如下及功能的简单介绍如下:
上面的控件分别对应第二栏中的按钮,其为toolStrip控件上添加的按钮,分别调用相应的窗体,按照顺序依次是:
1. 调用通讯录窗体;
2. 调用记事窗体;
3. 调用员工合同提示窗体;
4. 退出系统;
5. 调用人事档案浏览窗体;
6. 调用人事资料查询窗体;
treeView控件和Status控件分别用来显示所有的菜单内容和显示当前登陆的人员名称等。
声明两个类的实例化对象 MyClass和MyMenu
DataClass.MyMeans MyClass =new DataClass.MyMeans();
ModuleClass.MyModule MyMenu =new ModuleClass.MyModule();
当打开窗体时需要想窗体添加部分内容,
private void F_Main_Load(object sender, EventArgse)
{
//声明登陆窗体,进行调用
F_LogIn FrmLogIn =newF_LogIn();
//设置登陆窗体,并将其对象有关的数据设置为int型的值,值为1
FrmLogIn.Tag = 1;
//显示登陆窗体
FrmLogIn.ShowDialog();
//关闭登陆窗体并释放其占用的资源
FrmLogIn.Dispose();
//当调用登陆窗体时:
if (DataClass.MyMeans.LogIn_n== 1)
{
Preen_Main();
MyMenu.PactDay(1);
MyMenu.PactDay(2);
}
DataClass.MyMeans.LogIn_n = 3;
}
其中Preen_Main()方法通过调用MyModule类中实现的GetMen()方法和MainMenuF()方法来实现向treeView中添加菜单栏中的信息。
private void Preen_Main()
{
//在状态栏中显示登录名
statusStrip1.Items[2].Text = DataClass.MyMeans.LogIn_Name;
treeView1.Nodes.Clear();
//调用MyModiule中的getMenu方法,将menustrip1中的菜单添加到treeView1控件中
MyMenu.GetMenu(treeView1, menuStrip1);
MyMenu.MainMenuF(menuStrip1);
//根据权限设置菜单的可用状态
MyMenu.MainPope(menuStrip1, DataClass.MyMeans.LogIn_Name);
}
接下来实现菜单栏中的按钮的事件:
首先在MyModule类中定义类Show_Form()方法来进行窗体的调用,将窗体分为两类,第一类为button类调用的窗体,第二类窗体为各种类别的设置窗口。设计了一个参数,n=1时,调用的主要窗体,n=2时,调用的为类别设置的窗体。
首先实现对各种基础信息类别设置窗体的事件对方法的调用:如,
private voidTool_Stuffbusic_Click(object sender, EventArgs e)
{
MyMenu.Show_Form(sender.ToString().Trim(), 1);
}
在事件中调用button类的窗口,1为窗口类型的标志。(Show_Form()方法详见MyModule类的设计)
MyyModule类中的调用窗体的方法是根据主界面菜单选项的Text属性来确定的调用那个窗体的,所以当调用类似于“民族设置“类型的窗口时,其他的菜单项的事件可以仅调用”民族设置“方法,根据Text字段自动查找对应方法即可。
设计TreeView中退出系统的方法:
private voidtreeView1_NodeMouseClick(object sender,TreeNodeMouseClickEventArgs e)
{
if (e.Node.Text.Trim() =="系统退出")
{
Application.Exit();
}
MyMenu.TreeMenuF(menuStrip1, e);
}
同时设置以下几个的权限,对于不同的用户其权限不同,所能够使用的功能不同,故将涉及个人隐私等的一些信息的权限进行限制,实现不同级别的访问。
如:对“人事资料查询”窗体的使用权限的设置:
private voidButton_Stufind_Click(object sender, EventArgs e)
{
if (Tool_Stufind.Enabled ==true)
Tool_Stufind_Click(sender,e);
else
MessageBox.Show("当前用户无权调用" +"\""+ ((ToolStripButton)sender).Text +"\"" + "窗体");
}
其次以下几个也需要设计相应的功能限制:Stuffbusic,ClewBargain,AddressBook,DayWordPad。设计方法参照Stufind窗体的设计。
在本节中,需要使用到一个类MyModule类,其能够实现对于窗体的调用,通过一个附加参数进行区分。同时,这个类设计了很多操作方法,这些方法会在后续的不同的窗体中使用到,也可以说,这个类的设计也是这个系统实现的关键点之一,这个类将会在后续的文章中进行叙述。
登陆界面的设计如下:
所使用的控件如下及功能的简单介绍如下:
上面的控件分别对应第二栏中的按钮,其为toolStrip控件上添加的按钮,分别调用相应的窗体,按照顺序依次是:
1. 调用通讯录窗体;
2. 调用记事窗体;
3. 调用员工合同提示窗体;
4. 退出系统;
5. 调用人事档案浏览窗体;
6. 调用人事资料查询窗体;
字段名称 | 菜单级别 | 界面名称 |
Menu_1 | 一级 | 基础信息管理 |
Menu_2 | 二级 | 数据基础 |
Menu_3 | 二级 | 员工提示信息 |
Menu_4 | 一级 | 人事管理 |
Menu_5 | 一级 | 备忘记录 |
Menu_6 | 一级 | 数据库 |
Menu_7 | 一级 | 工具管理 |
Menu_8 | 一级 | 系统管理 |
Menu_9 | 二级 | 系统退出 |
Menu_10 | 一级 | 帮助 |
Menu_11 | 二级 | 帮助 |
字段名称 | 所属菜单 | 功能 |
Tool_AddressBook | 备忘记录 | 通讯录 |
Tool_Back | 数据库 | 恢复数据库 |
Tool_Branch | 数据基础 | 部门类别设置 |
Tool_Business | 数据基础 | 职务类别设置 |
Tool_Clear | 数据库 | 清空数据库 |
Tool_ClewBargain | 员工提示信息 | 员工合同提醒 |
Tool_ClewBirthday | 员工提示信息 | 员工生日提醒 |
Tool_Counter | 工具管理 | 计算器 |
Tool_DayWordPad | 备忘记录 | 日常记事 |
Tool_Duthcall | 数据基础 | 职称类别设置 |
Tool_EmployeeGenre | 数据基础 | 职工类别设置 |
Tool_Folk | 数据基础 | 民族类别设置 |
Tool_Kultur | 数据基础 | 文化程度设置 |
Tool_Laborage | 数据基础 | 工资类别设置 |
Tool_NewLogon | 系统管理 | 重新登录 |
Tool_RPKind | 数据基础 | 奖惩设置 |
Tool_Setup | 系统管理 | 用户登陆 |
Tool_Stuffbusic | 人事管理 | 人事资料浏览 |
Tool_Stufind | 人事管理 | 人事资料查询 |
Tool_Stusum | 人事管理 | 人事资料统计 |
Tool_Visage | 数据基础 | 政治面貌 |
Tool_WordBook | 工具管理 | 记事本 |
Tool_WordPad | 数据基础 | 记事本类别设置 |
treeView控件和Status控件分别用来显示所有的菜单内容和显示当前登陆的人员名称等。
声明两个类的实例化对象 MyClass和MyMenu
DataClass.MyMeans MyClass =new DataClass.MyMeans();
ModuleClass.MyModule MyMenu =new ModuleClass.MyModule();
当打开窗体时需要想窗体添加部分内容,
private void F_Main_Load(object sender, EventArgse)
{
//声明登陆窗体,进行调用
F_LogIn FrmLogIn =newF_LogIn();
//设置登陆窗体,并将其对象有关的数据设置为int型的值,值为1
FrmLogIn.Tag = 1;
//显示登陆窗体
FrmLogIn.ShowDialog();
//关闭登陆窗体并释放其占用的资源
FrmLogIn.Dispose();
//当调用登陆窗体时:
if (DataClass.MyMeans.LogIn_n== 1)
{
Preen_Main();
MyMenu.PactDay(1);
MyMenu.PactDay(2);
}
DataClass.MyMeans.LogIn_n = 3;
}
其中Preen_Main()方法通过调用MyModule类中实现的GetMen()方法和MainMenuF()方法来实现向treeView中添加菜单栏中的信息。
private void Preen_Main()
{
//在状态栏中显示登录名
statusStrip1.Items[2].Text = DataClass.MyMeans.LogIn_Name;
treeView1.Nodes.Clear();
//调用MyModiule中的getMenu方法,将menustrip1中的菜单添加到treeView1控件中
MyMenu.GetMenu(treeView1, menuStrip1);
MyMenu.MainMenuF(menuStrip1);
//根据权限设置菜单的可用状态
MyMenu.MainPope(menuStrip1, DataClass.MyMeans.LogIn_Name);
}
接下来实现菜单栏中的按钮的事件:
首先在MyModule类中定义类Show_Form()方法来进行窗体的调用,将窗体分为两类,第一类为button类调用的窗体,第二类窗体为各种类别的设置窗口。设计了一个参数,n=1时,调用的主要窗体,n=2时,调用的为类别设置的窗体。
首先实现对各种基础信息类别设置窗体的事件对方法的调用:如,
private voidTool_Stuffbusic_Click(object sender, EventArgs e)
{
MyMenu.Show_Form(sender.ToString().Trim(), 1);
}
在事件中调用button类的窗口,1为窗口类型的标志。(Show_Form()方法详见MyModule类的设计)
MyyModule类中的调用窗体的方法是根据主界面菜单选项的Text属性来确定的调用那个窗体的,所以当调用类似于“民族设置“类型的窗口时,其他的菜单项的事件可以仅调用”民族设置“方法,根据Text字段自动查找对应方法即可。
设计TreeView中退出系统的方法:
private voidtreeView1_NodeMouseClick(object sender,TreeNodeMouseClickEventArgs e)
{
if (e.Node.Text.Trim() =="系统退出")
{
Application.Exit();
}
MyMenu.TreeMenuF(menuStrip1, e);
}
同时设置以下几个的权限,对于不同的用户其权限不同,所能够使用的功能不同,故将涉及个人隐私等的一些信息的权限进行限制,实现不同级别的访问。
如:对“人事资料查询”窗体的使用权限的设置:
private voidButton_Stufind_Click(object sender, EventArgs e)
{
if (Tool_Stufind.Enabled ==true)
Tool_Stufind_Click(sender,e);
else
MessageBox.Show("当前用户无权调用" +"\""+ ((ToolStripButton)sender).Text +"\"" + "窗体");
}
其次以下几个也需要设计相应的功能限制:Stuffbusic,ClewBargain,AddressBook,DayWordPad。设计方法参照Stufind窗体的设计。
相关文章推荐
- SpringMvc+Mybatis实现一个简单人事管理系统(一)
- java Swing mysql实现的人事管理系统项目源码
- SpringMvc+Mybatis实现一个简单人事管理系统(二)
- SpringMvc+Mybatis实现一个简单人事管理系统(三)
- 人事管理系统实现(五)
- java Swing mysql实现的人事管理系统项目源码
- 人事档案信息管理系统的面向对象的分析、设计和实现
- 人事管理系统实现(四)
- ssm项目---人事管理系统:员工与部门、职位实现一对一
- VC下通过系统快照实现进程管理
- 基于RBAC模型的权限管理系统的设计和实现
- 人事管理系统课程设计
- 小型学校人事管理系统
- 教学管理系统-Flex2架构实现
- 《ASP.NET办公自动化系统开发实例导航》笔记三 人事管理模块
- 基于RBAC模型的权限管理系统的设计和实现
- 简单学生成绩管理系统(Java实现)
- 用C语言实现一个类似学籍管理系统的 e协 管理系统beta ( 正在完善中...)
- 自己写的成绩管理系统(c语言实现)
- 面向搜索引擎的内容管理系统(CMS)设计——利用Squid反相代理缓存实现网站内容静态发布