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

  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; }

   }
 

原文地址:https://www.cnblogs.com/SFHa/p/8723996.html

时间: 2024-10-14 01:19:04

在那个春暖花开的季节 今天微微的小雨 伴着轻轻的晚风我们一起来编写 员工考勤信息管理的相关文章

三年前,故事这样开始;三年后,故事这样延续---2015年终总结

 含苞待放的蕊,开出尘埃落定的美 人生的路途,自从小编学了计算机之后,喜欢这样来描述,人生就好像是一个开发软件的一个流程,从需求分析到运行维护,需求一次又一次的变更,人生的经历一次又一次在过程中丰富,人生的路又像季节的更迭,有微风也有细雨,花含苞待放之后化作春泥更护花,生命的年轮不停地转动着,缘深缘浅,缘聚缘散,不断地经历.也许生命本身的意义就在于,不断的去经历,不断的去成长.走过的路很漫长,也给自己一个交代,曾经的迷茫,曾经的伤感失落,都在沉淀后显得那么清澈.那一个个走过生命的故事,就像吟唱在

CSDN日报20170318——《一个程序员的五年工作总结》

[程序人生]一个程序员的五年工作总结 作者:Programmer_Zhou 三月的重庆到处弥漫着浓浓的春味,在这个春暖花开的季节里,人们在闲暇的时间都忙着踏青和春游."一年之计在于春",春天是赏花旅游的季节,春天更是为未来作打算.定计划的时候.在2017年的春天,我做出了人生中的一个重要决定:离开工作近五年的ZTE(中兴通讯),去开启新的人生征程.最近我在罗辑思维的得到APP上订阅了薛兆丰老师的"北大经济学课"专栏,我认为他说的一句话特别有道理,这句话的大意是:&q

路漫漫其修远兮,吾将上下而求索---我的五年工作总结

三月的重庆到处弥漫着浓浓的春味,在这个春暖花开的季节里,人们在闲暇的时间都忙着踏青和春游."一年之计在于春",春天是赏花旅游的季节,春天更是为未来作打算.定计划的时候.在2017年的春天,我做出了人生中的一个重要决定:离开工作近五年的ZTE(中兴通讯),去开启新的人生征程.最近我在罗辑思维的得到APP上订阅了薛兆丰老师的"北大经济学课"专栏,我认为他说的一句话特别有道理,这句话的大意是:"我们如何选择是否离开当前的公司呢?可以拿公司里面比自己资深的人作为参

回眸一眼、情意阑珊

回眸一眼,情意阑珊 回眸岁月,时光蹉跎了多少思念,在春暖花开的季节,谁把思念伏笔,折叠在字里行间,穿梭的紫燕,摇曳的细柳,可否读懂那心惜相牵?霓影阑珊,清灯常伴,多少个日夜,素笺默默,缱绻了谁的那滴相思泪?梦落霞,情留芳,酒甌满,拾半盏烟火,爱亦痴痴兮,念亦痴痴兮,愿做佛前千年菩提树,只愿等君一回眸. -----------------------题记 陌上花开,流年浅淡,岁月近无声,我落笔成诗,泼墨为你痴醉,自相遇,一回眸,花开嫣然,笑入我心,爱亦深深,念亦深深,千里相牵,梦也甘甜,只愿我的爱

人月到底有多少神话色彩

  台上一分钟,台下十年功 宝剑锋从磨砺出,梅花香自苦寒来:不经一番寒彻骨,哪得梅花扑鼻香:业精于勤而荒于嬉,行成于思而毁于随.不积跬步,无以至千里:不积小流,无以成江海.骐骥一跃,不能十步:驽马十驾,功在不舍.千百年来,先人的经验都在告诉我们台上一分钟,台下十年功,这句话本意指在台上表演的时间往往只有短短的一分钟,但为了台上这一分钟的表演时间,需要付出十年的艰辛努力.这些都强调了基础的重要性,编程就好比练功,如果学习.net,mfc,vb等具体的语言和工具是外功或者是招式,对基础的学习就是内功

OSChina 周二乱弹 —— 风萧萧兮易水寒

周二,最近天气转凉啊,已经准备好各种流感了,OSCer 们注意"保重"身体啦- 大早上起来不要撸太多,伤身! @不要马克杯 : 独坐书斋手作妻,此情不与外人知.若将左手换右手,便是停妻再娶妻. @开源中国内裤 :这是一个叫Wankband的手环,是一个让男士打! 灰! 机!的时候戴上可以发电的手环,通过上下运动手环将自动发电蓄电,变成一个充电宝,可以给手机甚至电脑充电,我觉得这个环保的创意真的挺好的.? 还是吃个高大上的早餐,长肉肉 @最拽猫咪 :这早餐难道不高大上么? 可是上班都好几

放下,只为拿起时走得更远

在无数次的思考,如何让自己在这个时代拥有更多的技能.今天,明天几乎天天更新着各种各样新的知识. 拥有的,不肯放下,放下的,再也拿不起来,拿起来的,不再走得更远,走得更远的,早已不是当初所拥有的. 我常常感慨这个时代,我们一出生,就注定了不同的人生.同样是人,为什么差距如此之大呢? 心浮气躁的我,早已静不下心来,在迷惘中迷失了自己的方向.自己所拥有的,毫不珍惜. 在这个春暖花开的季节,人思绪万千. 在今天的黄昏,同朋友漫步在校园中,看着那一束束的花,我们坐在草坪上聊了很多很多-- 朋友的一句话点醒

出生在商丘农村的80后的幸福童年

1. 2.       麦收后的夜里,拿着手电筒去树林里照爬扎,洗干净,用盐腌上,再用油炒或者炸,好吃. 3.       去官路沟里扒茅根,白白的.甜甜的.现在回想,茅根味就是现在和其正的味道! 4.       秋天,去空地上挖一个留有开口不深的窑,围着窑用坷拉垒一个炮楼一样的顶端封顶的"建筑",在下边烧火,坷拉烧红以后,把红芋埋在里边,可以把红芋烧的很香. 5.       丢沙包的一种玩法,在地上画一个有很多跑道和转弯的跑房,一帮人在里边跑,两个人在两头丢沙包,被砸到的下场.

毕业五年了,加油!

不知不觉毕业已经五年了. 五年来的成长之路有悲伤.迷惘.热血与快乐. 作为一名二流学校出身的乡村学渣,曾经的那种深深的自卑感至今仍让我心如刀绞.当年毕业之际,有同学去了中国联通这样的电信运营500强,有同学去了浪潮这样综合实力很强的本土IT企业,还有同学考上了优秀985名校的研究生.而我,去的是Low到爆的挫B小作坊,一个在偏远农村小镇上的小工厂,做的是行走在荒山野岭的傻逼工作.究其原因,是自己学生时代不够努力,成绩不好又没有技术,而且典型的工科男性格又不适合做非技术类的工作. 在别人面前,讲着