1. 程式人生 > >在那個春暖花開的季節 今天微微的小雨 伴著輕輕的晚風我們一起來編寫 員工考勤信息管理

在那個春暖花開的季節 今天微微的小雨 伴著輕輕的晚風我們一起來編寫 員工考勤信息管理

menu parent time splay 我們 this label oid play

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

 

在那個春暖花開的季節 今天微微的小雨 伴著輕輕的晚風我們一起來編寫 員工考勤信息管理