人事管理系统实现(二)

    xiaoxiao2021-03-26  42

        实现完毕登陆窗体,进入系统后将看到系统的主界面,主界面中提供了各种需要的功能,功能的需求来源于客户的的需求,对此,简单的设计了几个功能,上一节中启动窗体设置为主窗体,所以我们使用窗体的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窗体的设计。

       

    转载请注明原文地址: https://ju.6miu.com/read-663642.html

    最新回复(0)