基本信息
源码名称:C# 企业人事工资管理系统源码(含数据库以及脚本)
源码大小:16.20M
文件格式:.zip
开发语言:C#
更新时间:2018-11-07
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 4 元×
微信扫码支付:4 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
企业人事工资管理系统
其中包括考勤、工资管理(工资调整及汇总、奖惩管理)和员工管理(基本信息、社会关系、教育经历和部门设置等)
可以进行数据备份操作
多个界面可供用户切换选择
只需要附加数据库即可运行此实例,无须修改数据库连接串,也无须修改配置
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using OutLookBar;
using DBUtilities;
using CustomException.Err;
using hrBll;
using DataAccess.Data;
namespace HrManager
{
public partial class FormMain : Form
{
int i = 0;
public FormMain()
{
InitializeComponent();
}
#region 初始化LookOutBar
/// <summary>
/// 初始化LookOutBar
/// </summary>
private void OutLookBarInit()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Application.StartupPath "\\MTMenu.xml");
XmlNode root = xmlDoc.SelectSingleNode("Menus");
XmlNodeList divlist = root.ChildNodes;
int divcount = divlist.Count;
for (int i = 0; i < divcount; i )
{
OutLookWrapper m_OLW = new OutLookWrapper();
m_OLW.Text = divlist[i].Attributes["Name"].Value.ToString();
XmlNodeList buttonlist = divlist[i].ChildNodes;
int buttoncount = buttonlist.Count;
for (int j = 0; j < buttoncount; j )
{
OutLookRow m_OLR = new OutLookRow();
m_OLR.Icon = new Icon(buttonlist[j].ChildNodes.Item(2).InnerText);
m_OLR.Text = buttonlist[j].ChildNodes.Item(0).InnerText;
string formname = buttonlist[j].ChildNodes.Item(1).InnerText;
m_OLR.FormName = formname;
ButtonClicked a = new ButtonClicked(ClickedOpenForm);
m_OLR.SetAction(a);
m_OLW.AddRow(m_OLR);
}
m_OLW.Mode = ViewMode.Large_Icons;
this.outLookBar1.AddRow(m_OLW);
}
}
#endregion
#region 左菜单
/// <summary>
///左菜单
/// </summary>
/// <param name="formname"></param>
private void ClickedOpenForm(string formname)
{
this.pnlMain.Controls.Clear();
if (formname == "UcCalc")
{
Tools.Computer();
}
else if (formname == "UcNotepad")
{
Tools.OpenNotepad();
}
else if (formname == "Ucmspaint")
{
Tools.Img();
}
else if (formname == "UcHelps")
{
BigMessageBox.Show("domain提示:暂时没有帮助文件", "系统支持", MessageBoxButtons.OK, MessageBoxIcon.Information);
System.Diagnostics.Process.Start("http://win.domain.com/CV/HrManage");
}
else if (formname == "UcBACKUP")
{
Tools.DataBak();
}
else
{
CreateFormInstance(formname);
}
}
#endregion
#region 动态创建菜单
/// <summary>
/// 动态创建菜单
/// </summary>
/// <param name="FilePath">菜单XML文件的路径</param>
public void CreateMenu()
{
//定义一个主菜单
MenuStrip mainMenu = new MenuStrip();
mainMenu.Parent = this.panTools;
mainMenu.Dock = DockStyle.Fill;
DataSet ds = new DataSet();
//从XML中读取数据。数据结构后面详细讲一下。
string xmlPath_str = System.Windows.Forms.Application.StartupPath;
ds.ReadXml(xmlPath_str @"\MenuMT.xml");
DataView dv = ds.Tables[0].DefaultView;
//通过DataView来过滤数据首先得到最顶层的菜单
dv.RowFilter = "ParentItemID=0";
for (int i = 0; i < dv.Count; i )
{
//创建一个菜单项
ToolStripMenuItem topMenu = new ToolStripMenuItem();
//给菜单赋Text值。也就是在界面上看到的值。
topMenu.Text = dv[i]["Text"].ToString();
///
/// 添加退出事件
///
if ("退出".Equals(dv[i]["Text"].ToString()))
{
topMenu.Click = new EventHandler(topMenu_Click);
}
//如果是有下级菜单则通过CreateSubMenu方法来创建下级菜单
if (Convert.ToInt16(dv[i]["IsModule"]) == 1)
{
//以ref的方式将顶层菜单传递参数,因为他可以在赋值后再回传。--也许还有更好的方法^_^.
CreateSubMenu(ref topMenu, Convert.ToInt32(dv[i]["ItemID"]), ds.Tables[0]);
}
//显示应用程序中已打开的 MDI 子窗体列表的菜单项
mainMenu.MdiWindowListItem = topMenu;
//将递归附加好的菜单加到菜单根项上。
mainMenu.Items.Add(topMenu);
}
mainMenu.Dock = DockStyle.Top;
//将窗体的MainMenuStrip梆定为mainMenu.
this.MainMenuStrip = mainMenu;
//这句很重要。如果不写这句菜单将不会出现在主窗体中。
this.Controls.Add(mainMenu);
}
#endregion
#region 创建子菜单
/// <summary>
/// 创建子菜单
/// </summary>
/// <param name="topMenu">父菜单项</param>
/// <param name="ItemID">父菜单的ID</param>
/// <param name="dt">所有菜单数据集</param>
private void CreateSubMenu(ref ToolStripMenuItem topMenu, int ItemID, DataTable dt)
{
DataView dv = new DataView(dt);
//过滤出当前父菜单下在所有子菜单数据(仅为下一层的)
dv.RowFilter = "ParentItemID=" ItemID.ToString();
for (int i = 0; i < dv.Count; i )
{
//创建子菜单项
ToolStripMenuItem subMenu = new ToolStripMenuItem();
subMenu.Text = dv[i]["Text"].ToString();
//如果还有子菜单则继续递归加载。
if (Convert.ToInt16(dv[i]["IsModule"]) == 1)
{
//递归调用
CreateSubMenu(ref subMenu, Convert.ToInt32(dv[i]["ItemID"]), dt);
}
else if ("数据备份".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "BACKUP";
subMenu.Click = new EventHandler(OtherTools_Click);
}
else if ("计算器".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "Calc";
subMenu.Click = new EventHandler(OtherTools_Click);
}
//给没有子菜单的菜单项加事件。
else if ("记事本".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "Notepad";
subMenu.Click = new EventHandler(OtherTools_Click);
}
else if ("画图".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "MsPaint";
subMenu.Click = new EventHandler(OtherTools_Click);
}
else if ("查看帮助".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "Assistant";
subMenu.Click = new EventHandler(OtherTools_Click);
}
else if ("精典MacOS".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "GlassGreen";
subMenu.Click = new EventHandler(SetBackColor_Click);
}
else if ("蓝色风暴".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "SportsBlack";
subMenu.Click = new EventHandler(SetBackColor_Click);
}
else if ("MSN界面".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "MSN";
subMenu.Click = new EventHandler(SetBackColor_Click);
}
else if ("精典MAC2".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "Vista";
subMenu.Click = new EventHandler(SetBackColor_Click);
}
else if ("经典xp".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "XPBlue";
subMenu.Click = new EventHandler(SetBackColor_Click);
}
else if ("系统默认".Equals(dv[i]["Text"].ToString()))
{
subMenu.Tag = "default";
subMenu.Click = new EventHandler(SetBackColor_Click);
}
else
{
//扩展属性可以加任何想要的值。这里用formName属性来加载窗体。
subMenu.Tag = dv[i]["FormName"].ToString();
//给没有子菜单的菜单项加事件。
subMenu.Click = new EventHandler(subMenu_Click);
}
if (dv[i]["ImageName"].ToString().Length > 0)
{
//设置菜单项前面的图票为16X16的图片文件。
Image img = Image.FromFile(@"..\..\Image\" dv[i]["ImageName"].ToString());
subMenu.Image = img;
subMenu.Image.Tag = dv[i]["ImageName"].ToString();
}
//将菜单加到顶层菜单下。
topMenu.DropDownItems.Add(subMenu);
}
}
#endregion
#region 菜单单击事件
/// <summary>
/// 菜单单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void subMenu_Click(object sender, EventArgs e)
{
//tag属性在这里有用到。
this.pnlMain.Controls.Clear();
string formName = ((ToolStripMenuItem)sender).Tag.ToString();
CreateFormInstance(formName);
}
#endregion
#region 退出菜单单击事件
/// <summary>
/// 退出菜单单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void topMenu_Click(object sender, EventArgs e)
{
if (BigMessageBox.Show("您确实要退出系统吗?", "进销存管理系统", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
this.Dispose();
Application.Exit();
}
}
#endregion
#region 创建form实例
/// <summary>
/// 创建form实例。
/// </summary>
/// <param name="formName">form的类名</param>
private void CreateFormInstance(string formName)
{
bool flag = false;
//遍历主窗口上的所有子菜单
for (int i = 0; i < this.MdiChildren.Length; i )
{
//如果所点的窗口被打开则重新激活
if (this.MdiChildren[i].Tag.ToString().ToLower() == formName.ToLower())
{
this.MdiChildren[i].Activate();
this.MdiChildren[i].Show();
this.MdiChildren[i].WindowState = FormWindowState.Normal;
flag = true;
break;
}
}
if (!flag)
{
string formstring = @"HrManager" @"." formName;
Type t = Type.GetType(formstring);
object obj = System.Activator.CreateInstance(t);
UserControl uc = (UserControl)obj;
this.pnlMain.Controls.Add(uc);//效果和上一句一样
uc.Dock = DockStyle.Fill;
}
}
#endregion
#region 窗体初始化
/// <summary>
/// 窗体初始化
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FormMain_Load(object sender, EventArgs e)
{
timer1.Start();
DataTable dt = new DataTable();
dt = BllMain.GetEmp();
if (dt != null && dt.Rows.Count > 0)
{
if (dt.Rows.Count> 10)
{
for (int i = 0; i < 10; i )
{
label1.Text = dt.Rows[i]["EmployName"].ToString() "☆☆" label1.Text;
}
}
else
{
for (int i = 0; i < dt.Rows.Count; i )
{
label1.Text = dt.Rows[i]["EmployName"].ToString() "☆☆" label1.Text;
}
}
}
else
{
label1.Text = "今天没有员工生日";
}
if (GetColor() != "")
{
this.skinEngine1.SkinFile = Application.StartupPath GetColor();
this.skinEngine1.Active = true;
}
else
{
this.skinEngine1.Active = false;
}
this.CreateMenu();
this.OutLookBarInit();
this.WindowState = FormWindowState.Maximized;
}
#endregion
#region FormMain_FormClosed
private void FormMain_FormClosed(object sender, FormClosedEventArgs e)
{
this.Dispose();
GC.Collect();
Application.Exit();
}
#endregion
#region 设置系统背景颜色
/// <summary>
/// 设置系统背景颜色
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SetBackColor_Click(object sender, EventArgs e)
{
switch (((ToolStripMenuItem)(sender)).Tag.ToString())
{
case "GlassGreen":
{
this.skinEngine1.SkinFile = Application.StartupPath "\\GlassGreen.ssk";
this.skinEngine1.Active = true;
SaveColor("\\GlassGreen.ssk");
break;
}
case "SportsBlack":
{
this.skinEngine1.SkinFile = Application.StartupPath "\\SportsBlack.ssk";
this.skinEngine1.Active = true;
SaveColor("\\SportsBlack.ssk");
break;
}
case "MSN":
{
this.skinEngine1.SkinFile = Application.StartupPath "\\MSN.ssk";
this.skinEngine1.Active = true;
SaveColor("\\MSN.ssk");
break;
}
case "Vista":
{
this.skinEngine1.SkinFile = Application.StartupPath "\\Vista.ssk";
this.skinEngine1.Active = true;
SaveColor("\\Vista.ssk");
break;
}
case "XPBlue":
{
this.skinEngine1.SkinFile = Application.StartupPath "\\XPBlue.ssk";
SaveColor("\\XPBlue.ssk");
this.skinEngine1.Active = true;
break;
}
default:
SaveColor("");
this.skinEngine1.Active = false;
break;
}
}
#endregion
#region 设置系统的默认方案
/// <summary>
/// 设置系统的默认方案
/// </summary>
/// <param name="FileName"></param>
private void SaveColor(string FileName)
{
AppSettings.SetValue("Color", FileName);
}
#endregion
#region 获得系统的默认方案
/// <summary>
/// 获得系统的默认方案
/// </summary>
/// <param name="pkid"></param>
private string GetColor()
{
return AppSettings.GetValue("Color");
}
#endregion
#region 其它工具菜单事件的注册方法
//其它工具菜单事件的注册方法
private void OtherTools_Click(object sender, EventArgs e)
{
switch (((ToolStripMenuItem)(sender)).Tag.ToString())
{
case "BACKUP"://数据库备份
{
Tools.DataBak();
break;
}
case "Calc": //计算器
{
Tools.Computer();
break;
}
case "Notepad": //记事本
{
Tools.OpenNotepad();
break;
}
case "MsPaint": //画图
{
Tools.Img();
break;
}
case "Assistant":
{
BigMessageBox.Show("帮助文件正在制作中");
System.Diagnostics.Process.Start("http://win.domain.com/CV/HrManage");
break;
}
}
}
#endregion
private void timer1_Tick(object sender, EventArgs e)
{
i = 10;
if (label1.Right < this.Width)
{
label1.Left = i;
}
else
{
label1.Left = 0;
i = 0;
}
}
}
}