人事管理系统实现(二)

    实现完毕登陆窗体,进入系统后将看到系统的主界面,主界面中提供了各种需要的功能,功能的需求来源于客户的的需求,对此,简单的设计了几个功能,上一节中启动窗体设置为主窗体,所以我们使用窗体的Tag属性来实现窗口的正确调用,调用过程将在后文进行解释;

    在本节中,需要使用到一个类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窗体的设计。


   

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值