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

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

  1. 面朝大海,爱上春暖花开

    暮色悄然降临,时光安然无恙:人随风烟淡忘,平凡的故事,雕刻了时光,带几分凄凉:平凡的人,拾几分感动,捻一指花香,静坐时光巷陌,看彼岸花开,安安稳稳地过一生.静坐时光巷陌,面朝大海,看春暖花开.     ...

  2. 面朝大海,春暖花开:追求自由和美好的生活态度

    Facing the Sea With Spring Blossoms,这是一首脍炙人口的诗歌,也是一种生活态度.面朝大海,春暖花开,这是一种豁达.乐观.向上的心态,也是一种追求自由.追求美好的精神. ...

  3. 季节轮换,总有新的故事值得期待——社科院与杜兰大学金融管理硕士项目

    在人生的道路上,总会出现各种各样的麻烦.或者认真学习不见成效,或是努力工作得不到赏识.人生中最困难的事情就是审视自己,当我们意识到自己需要提升时,往往是拥有强大能量的开始.过去已不再重要,朝前走,会有 ...

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

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴!  含苞待 ...

  5. 20℃ 怀念 盛夏未央

      青春飞扬里的阳光是一抹透明般的忧伤,尤其是在这个春暖花开的季节中. 有些故事可以简单地遗忘,有些故事可以用心地珍藏,有些故事可以狠心地记住. 然而那些一开始就注定散落在天涯的故事呢? 我沉默!我只 ...

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

     含苞待放的蕊,开出尘埃落定的美 人生的路途,自从小编学了计算机之后,喜欢这样来描述,人生就好像是一个开发软件的一个流程,从需求分析到运行维护,需求一次又一次的变更,人生的经历一次又一次在过程中丰富, ...

  7. linux桌面版排行2019_2019 年适合新手的 Linux 发行版 top 5

    2018年已成过去,2019年正在进行中,时间飞快,岁月如梭,马上就要进入春暖花开的季节春季(在北半球,3月是春季的第一个月),少年们是否有骚动的感觉 ?_ , 来来来,还不认识linux的新用户这里 ...

  8. 从“优化”、“向社会输送人才”到“毕业”,互联网的高情商裁员

    2022年第一季度已经结束,但从年初开始就频繁上热搜的"裁员潮"却愈演愈烈.虽然现在已是万物复苏.春暖花开的季节,但互联网行业似乎仍被困在寒冬中. 来源:微博搜索截图 就在本月,& ...

  9. 科大星云诗社动态20201222

    [每日一诗] 匿名投稿[em]e10289[/em] 冬至庐州忆乡 庚子年冬月初七,逢冬至,未得还家,为诗以寄情,兼怀友人. 忽忆离乡几半载,未觉今日冬节临. 家中父老应祭祖,故日友人正纵情. 一盏孤 ...

  10. 自行车也能做智能升级?AliOS以想象力为智慧出行带来新体验

    春暖花开的季节,骑车出街无疑成为了不少人的最佳选择. 而就在最近,AliOS发布的一则视频让人眼前一亮--自行车居然也能实现智慧驾驶?据悉,视频中介绍的这款"即贴即用"的移动便携式 ...

最新文章

  1. 零基础前端笔记(1)web,html,标签,锚点,路径
  2. CF1063A Oh Those Palindromes
  3. MyBatis-Plus_简介
  4. codeforces 580C Kefa and Park(DFS)
  5. Sql Server Express版本升级到企业版
  6. vsCode 配置 html 文件警告
  7. Android 最常用的设计模式二 安卓源码分析——组合模式(component)
  8. 基于python的微信机器人_基于python的微信机器人
  9. JavaScript中ubound函数
  10. 如何使用js实现交通红绿灯
  11. Linux中编写Shell脚本
  12. SpringBoot使用Netty实现远程调用
  13. 用verilog HDL实现数字基带信号的2FSK调制
  14. 资深IT经理人的辞职信 - 怀着梦想去远行!- 让自己慢下来(29)
  15. 申宝投资-A股震荡下行
  16. AV终结者技术大曝光(另附AV终结者10大死法)
  17. 计算机英语MDD英文全称,欧盟医疗器械指令 mdd 93-42-eec(中英文).pdf
  18. 进阶的阿牛哥之用python向多人发送邮件(带附件)、遍历邮件获取内容(两种方法:imbox、imaplib)
  19. Unity firebase报错System.TypeInitializationException: The type initializer for Firebase.Editor.Measu
  20. 解决C盘空间太小问题

热门文章

  1. Oracle 文字排序,按照拼音,姓氏笔画等
  2. 供应链金融与区块链的关系
  3. 论文:YOLOX: Exceeding YOLO Series in 2021
  4. Java:求两个正整数的最大公约数和最小公倍数
  5. 车牌号正则表达式(含新能源车牌)
  6. c++语言设计五子棋游戏,C++实现五子棋游戏
  7. 记一次走心One 2 One沟通
  8. Vue H5 History 部署IIS上404问题
  9. 正确区分标识(zhi)符、关键字与保留字
  10. 详述支付网关的设计原则