zoukankan      html  css  js  c++  java
  • 在那个春暖花开的季节 今天微微的小雨 伴着轻轻的晚风我们一起来编写 员工考勤信息管理

      public partial class Form1 : Form
        {
    
            public Form1()
            {
                InitializeComponent();
            }
    
    
        //FROM 1 中的内容
    //公共列表<SE>工程师=新列表<SE>(); public List<SE> engineers = new List<SE>(); //公共<string,Record>列表显示<string,Record>(); public Dictionary<string, Record> recordList = new Dictionary<string, Record>(); public void initial() { //初始化信息 SE wang = new SE(); wang.Name = "王小毛"; wang.Age = 19; wang.ID = "20090101"; wang.gender = Gender.男; SE joke = new SE(); joke.Name = "周新宇"; joke.Age = 19; joke.ID = "20090102"; joke.gender = Gender.女; //添加元素 engineers.Add(wang); engineers.Add(joke); } //泛型添加 //公共void BindGrid(<SE>列出) public void BindGrid(List<SE> list) { //dataGridView1。 数据源=新BindingList<SE>(列表); //添加显示数据 dataGridView1.DataSource = new BindingList<SE>(list); } private void Form1_Load(object sender, EventArgs e) { //引用方法 initial(); BindGrid(engineers); } private void button1_Click(object sender, EventArgs e) { //<SE>工程师=新列表List<SE>(); List<SE> engineer = new List<SE>(); //foreach(SE项目工程师) foreach(SE item in engineers) { //判断数据是否存在 if(item.ID.IndexOf(textBox1.Text.Trim())!=-1) { engineer.Add(item);//导入数据 } } BindGrid(engineer);//泛型添加 } private void toolStripButton1_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.frmparent = this; frm.ShowDialog();//模式化窗体 显示 } private void toolStripButton3_Click(object sender, EventArgs e) { //提示 是否删除 DialogResult i = MessageBox.Show("是否删除", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (i == DialogResult.Yes) { //字符串id=dataGridView1. 隐藏所选择[0] ToString(); string id = dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); foreach (SE item in engineers) { if (item.ID==id) { engineers.Remove(item);// 删除 break; } } BindGrid(engineers); } } //签到操作 private void 签到ToolStripMenuItem_Click(object sender, EventArgs e) { // string workNo = dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); //验证 确保有选中的行 foreach (string id in recordList.Keys) { if (id == workNo) { MessageBox.Show("今天已经签到过了"); return; } } //执行签到 Record record = new Record(); record.ID = workNo; record.Name = dataGridView1.SelectedRows[0].Cells[0].Value.ToString(); record.SignInTime = DateTime.Now; //获取系统的当前时间 recordList.Add(record.ID, record);//添加到签到记录中 MessageBox.Show("签到成功"); } //签退操作 private void 签退ToolStripMenuItem_Click(object sender, EventArgs e) { string ID = dataGridView1.SelectedRows[0].Cells[3].Value.ToString(); bool isOut = false; //标识是否已经签到过 foreach(string key in recordList.Keys) { if(key==ID) { //执行签到,设置签退的时间 this.recordList[key].SignOutTime = DateTime.Now; MessageBox.Show("签退成功"); isOut = true; break; } } if(isOut==false) //不成立 { MessageBox.Show("尚未签到"); } } private void toolStripButton4_Click(object sender, EventArgs e) { Form3 frm = new Form3(); frm.name = "共有" + recordList .Count+ "条打卡记录"; //窗体传值 frm.frmparent = this; frm.ShowDialog(); }





      //Form 2中的内容

        
      public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
            //定义Form1 公用的属性
            public Form1 frmparent{ get; set; }
            private void button1_Click(object sender, EventArgs e)
            {   
                  //初始化信息
                SE pr = new SE();
                //窗体传值
                pr.ID = textBox1.Text;
                pr.Name = textBox3.Text;
                pr.Age = Convert.ToInt32(textBox2.Text);
                //判断男女
                if (comboBox1.SelectedValue.ToString() == "")
                {
                    pr.gender = Gender.男;
                }
                else
                {
                    pr.gender = Gender.女;
                }
                foreach (SE item in frmparent.engineers)
                {
                    if (item.ID == pr.ID)
                    {
                        MessageBox.Show("此工号已存在");
                        return;
                    }
                }
                //绑定数据源
                frmparent.engineers.Add(pr);
                this.Close();
                this.frmparent.BindGrid(frmparent.engineers);
            }
            
            private void Form2_Load(object sender, EventArgs e)
            {
                Com();//调用Com方法
            }
    
            private void Com()
            {
    
                //初始化
                ComboBoxItem<Gender> itemmale = new ComboBoxItem<Gender>();
                itemmale.ItemText = Gender.男.ToString();
                itemmale.ItemValue = Gender.男;
    
    
                ComboBoxItem<Gender> itemfemale = new ComboBoxItem<Gender>();
                itemfemale.ItemText = Gender.女.ToString();
                itemfemale.ItemValue = Gender.女;
    
                //声明集合  
                List<ComboBoxItem<Gender>> item = new List<ComboBoxItem<Gender>>();
    
                //添加集合中的数据
                item.Add(itemmale);
                item.Add(itemfemale);
    
    
    
                //绑定信息
                comboBox1.DataSource = item;
                comboBox1.DisplayMember = "ItemText";
                comboBox1.ValueMember = "ItemValue";
            }
    
    
      //Form 3中的内容
      public partial class Form3 : Form
        {
            public Form3()
            {
                InitializeComponent();
            }
    
            //定义Form3的公共属性
          public  string name = "";
    
          //定义Form1 公用的属性
          public Form1 frmparent { get; set; } 
    
    
            private void Form3_Load(object sender, EventArgs e)
            {
                label1.Text = name;//绑定数据
                NewMethod();//调用方法
            }
    
            private void NewMethod()
            {   
                //创建数据源的组件
                // 用BindingSource可以提高程序的性能和安全性
                BindingSource bs = new BindingSource();
                //把集合元素添加到数据原中
                bs.DataSource = frmparent.recordList.Values;
                //this  本对象
                //展示数据源中的数据
                this.dataGridView1.DataSource = bs;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                   //消息框.显示(frmparent。列表显示。 计数。 ToString());
                    //消息框展示集合中元素的数量
                MessageBox.Show(frmparent.recordList.Count.ToString());
            }

          //ComboBoxItem类

        class ComboBoxItem<T>
        {   
            public string ItemText { get; set; }
            public T ItemValue { get; set; }
        }
    }

        //Gender类

     //公开枚举性别
        public enum Gender
        {
            男,女
        }

      //Record类

     public class Record
        {
    
           //保存父窗体的使用
           //签到的时间
            public DateTime SignInTime { get; set; } 
           //签退的时间
            public DateTime SignOutTime { get; set; }
           //工号
            public string ID { get; set; }
           //员工姓名
            public string Name { get; set; }
           
        }
    }

     //SE  类

       public class SE
        {
            //公共名称的字符串
            public string  Name { get; set; }
            public int  Age { get; set; }
            public Gender gender { get; set; }
            public string  ID { get; set; }
           
       }
     
  • 相关阅读:
    Oracle11g工具
    Oracle数据库中scott用户的所有表结构
    Oracle数据库手动解锁scott用户
    Oracle数据库实例的删除和安装
    Oracle数据库的安装
    Oracle数据库发展历史
    禁止浏览器中双击选中元素的解决方法
    Window 设置pm2开机自启动服务
    通过node创建web服务器----express插件打包上线
    vue项目优化----通过externals加载外部CDN资源
  • 原文地址:https://www.cnblogs.com/SFHa/p/8723996.html
Copyright © 2011-2022 走看看