================================================实体================================================

-------------------------------------------员工类-------------------------------------------

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace SJ2.entity
 8 {
 9     /// <summary>
10     /// 员工类
11     /// </summary>
12     public class Empolyee
13     {
14         /// <summary>
15         /// 姓名
16         /// </summary>
17         public string Name { get; set; }
18         /// <summary>
19         /// 工作列表
20         /// </summary>
21         public List<Job> WorkList { get; set; }
22         public Empolyee(string name,List<Job> workList)
23         {
24             this.Name = name;
25             this.WorkList = workList;
26         }
27     }
28 }

Empolyee

-------------------------------------------父类工作类-------------------------------------------

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace SJ2.entity
 8 {
 9     /// <summary>
10     /// 工作类
11     /// </summary>
12     public abstract class Job
13     {
14         /// <summary>
15         /// 工作名称
16         /// </summary>
17         public string Name { get; set; }
18         /// <summary>
19         /// 工作类型
20         /// </summary>
21         public string Type { get; set; }
22         /// <summary>
23         /// 工作描述
24         /// </summary>
25         public string Desc { get; set; }
26
27         public Job(string name,string type,string desc)
28         {
29             this.Desc = desc;
30             this.Name = name;
31             this.Type = type;
32         }
33         public Job()
34         {
35         }
36
37         /// <summary>
38         /// 打开窗体
39         /// </summary>
40         public abstract void Execute(frmMain fm,int index);
41
42         /// <summary>
43         /// 打开提示框
44         /// </summary>
45         public abstract void Show();
46     }
47 }

Job

-------------------------------------------子类测试类-------------------------------------------

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.Windows.Forms;
 7
 8 namespace SJ2.entity
 9 {
10     /// <summary>
11     /// 测试类
12     /// </summary>
13     public class CeShi:Job
14     {
15         public CeShi(string name, string type, string desc)
16             : base(name, type, desc)
17         {
18         }
19         public CeShi()
20         {
21         }
22
23         /// <summary>
24         /// 测试用例个数
25         /// </summary>
26         public int CeShiNo { get; set; }
27
28         /// <summary>
29         /// f发现的BUG数量
30         /// </summary>
31         public int BugCount { get; set; }
32
33         /// <summary>
34         /// 所需工作日
35         /// </summary>
36         public int NeedDay { get; set; }
37
38         /// <summary>
39         /// 打开测试窗体
40         /// </summary>
41         public override void Execute(frmMain fm,int index)
42         {
43             frmCeShi fcs = new frmCeShi();
44             //传相应信息
45             fcs.fm = fm;
46             fcs.index = index;
47             fcs.ShowDialog();
48         }
49
50         /// <summary>
51         /// 打开提示框
52         /// </summary>
53         public override void Show()
54         {
55             StringBuilder sb = new StringBuilder();
56             sb.Append("测试用例个数:" + CeShiNo + "\n发现的BUG数量:" + BugCount + "\n工作日:" + NeedDay);
57             MessageBox.Show(sb.ToString(),"指标完成情况");
58         }
59     }
60 }

CeShi

-------------------------------------------子类编码类-------------------------------------------

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.Windows.Forms;
 7
 8 namespace SJ2.entity
 9 {
10     /// <summary>
11     /// 编码类
12     /// </summary>
13     public class BianMa:Job
14     {
15         public BianMa(string name, string type, string desc)
16             : base(name, type, desc)
17         {
18         }
19         public BianMa()
20         {
21         }
22
23         /// <summary>
24         /// 有效编码行数
25         /// </summary>
26         public int YesRow { get; set; }
27
28         /// <summary>
29         /// 遗留问题
30         /// </summary>
31         public string Pro { get; set; }
32
33         /// <summary>
34         /// 所需工作日
35         /// </summary>
36         public int NeedDay { get; set; }
37
38         /// <summary>
39         /// 打开编码窗体
40         /// </summary>
41         public override void Execute(frmMain fm,int index)
42         {
43             frmBianMa fbm = new frmBianMa();
44             //传相应信息
45             fbm.fm = fm;
46             fbm.index = index;
47             fbm.ShowDialog();
48         }
49
50         /// <summary>
51         /// 打开提示框
52         /// </summary>
53         public override void Show()
54         {
55             StringBuilder sb = new StringBuilder();
56             sb.Append("有效编码行数:" + YesRow + "\n遗留问题:" + Pro + "\n工作日:" + NeedDay);
57             MessageBox.Show(sb.ToString(), "指标完成情况");
58         }
59     }
60 }

BianMa

================================================窗体================================================

-------------------------------------------主窗体-------------------------------------------

 1 using SJ2.entity;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.ComponentModel;
 5 using System.Data;
 6 using System.Drawing;
 7 using System.Linq;
 8 using System.Text;
 9 using System.Threading.Tasks;
10 using System.Windows.Forms;
11
12 namespace SJ2
13 {
14     public partial class frmMain : Form
15     {
16         public frmMain()
17         {
18             InitializeComponent();
19         }
20         /// <summary>
21         /// 员工
22         /// </summary>
23        public Empolyee empolyee ;
24
25         private void frmMain_Load(object sender, EventArgs e)
26         {
27             Init();
28             BangGroupBoxText();
29             BangList();
30         }
31
32         /// <summary>
33         /// 初始化
34         /// </summary>
35         public void Init()
36         {
37             List<Job> lj =new List<Job>();
38             Job job = new CeShi("压力测试", "测试", "测试项目");
39             Job job1 = new BianMa("编码", "编码", "实现购物车模块");
40             Job job2 = new BianMa("编码基类", "编码", "完成项目基类");
41             lj.Add(job);
42             lj.Add(job1);
43             lj.Add(job2);
44
45
46             empolyee = new Empolyee("王小毛",lj);
47         }
48
49         /// <summary>
50         /// 绑定GroupBox名字
51         /// </summary>
52         public void BangGroupBoxText()
53         {
54             gbName.Text = empolyee.Name;
55         }
56
57         /// <summary>
58         /// 绑定列表
59         /// </summary>
60         public void BangList()
61         {
62             dgvList.DataSource = empolyee.WorkList;
63         }
64
65         /// <summary>
66         /// 单击执行
67         /// </summary>
68         /// <param name="sender"></param>
69         /// <param name="e"></param>
70         private void tsmiDo_Click(object sender, EventArgs e)
71         {
72             //找到选中行的索引
73             int index = this.dgvList.CurrentRow.Index;
74             //按照添加顺序用索引找对应方法,并传本窗体和索引过去
75             empolyee.WorkList[index].Execute(this,index);
76         }
77
78         private void 完成情况ToolStripMenuItem_Click(object sender, EventArgs e)
79         {
80             int index = this.dgvList.CurrentRow.Index;
81             empolyee.WorkList[index].Show();
82         }
83     }
84 }

frmMain

-------------------------------------------测试窗体-------------------------------------------

 1 using SJ2.entity;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.ComponentModel;
 5 using System.Data;
 6 using System.Drawing;
 7 using System.Linq;
 8 using System.Text;
 9 using System.Threading.Tasks;
10 using System.Windows.Forms;
11
12 namespace SJ2
13 {
14     public partial class frmCeShi : Form
15     {
16         public frmCeShi()
17         {
18             InitializeComponent();
19             //name = fm.empolyee.WorkList[index].Name;
20             //type = fm.empolyee.WorkList[index].Type;
21             //des = fm.empolyee.WorkList[index].Desc;
22         }
23         //string name;
24         //string type;
25         //string des;
26
27
28        public frmMain fm;
29        public int index;
30         private void btnSubmit_Click(object sender, EventArgs e)
31         {
32             //按照传过来的信息更改对应内容
33             ((CeShi)fm.empolyee.WorkList[index]).NeedDay = int.Parse(txtNeedDay.Text);
34             ((CeShi)fm.empolyee.WorkList[index]).BugCount = int.Parse(txtBugCount.Text);
35             ((CeShi)fm.empolyee.WorkList[index]).CeShiNo = int.Parse(txtCeShiNo.Text);
36
37             MessageBox.Show("提交成功");
38             this.Close();
39         }
40
41
42     }
43 }

frmCeShi

-------------------------------------------编码窗体-------------------------------------------

 1 using SJ2.entity;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.ComponentModel;
 5 using System.Data;
 6 using System.Drawing;
 7 using System.Linq;
 8 using System.Text;
 9 using System.Threading.Tasks;
10 using System.Windows.Forms;
11
12 namespace SJ2
13 {
14     public partial class frmBianMa : Form
15     {
16         public frmBianMa()
17         {
18             InitializeComponent();
19         }
20
21         public frmMain fm;
22         public int index;
23         private void btnSubmit_Click(object sender, EventArgs e)
24         {
25             //按照传过来的信息更改对应内容
26             ((BianMa)fm.empolyee.WorkList[index]).NeedDay = int.Parse(txtNeedDay.Text);
27             ((BianMa)fm.empolyee.WorkList[index]).YesRow = int.Parse(txtYesRow.Text);
28             ((BianMa)fm.empolyee.WorkList[index]).Pro = txtPro.Text;
29
30             MessageBox.Show("提交成功");
31             this.Close();
32         }
33     }
34 }

frmBianMa

转载于:https://www.cnblogs.com/1-2-3-4/p/6699250.html

(深入.Net平台和C#编程)第七章.上机练习.20170412相关推荐

  1. [转]Windows Shell 编程 第七章

    第七章 侵入Shell 与所有其它Win32进程一样,Shell也有其自己的内存地址空间,这是其它应用完全不可知的地址空间.为了进入这个地址空间,我们必须传递一定数量的控制点,就象我们正在跨过国家边界 ...

  2. Windows Shell编程-第七章.侵入Shell

    第七章 侵入Shell 与所有其它Win32进程一样,Shell也有其自己的内存地址空间,这是其它应用完全不可知的地址空间.为了进入这个地址空间,我们必须传递一定数量的控制点,就象我们正在跨过国家边界 ...

  3. 转:Windows Shell 编程 第七章_1

    转自:http://yadang418.blog.163.com/blog/static/2684365620096534257530/ 第七章侵入Shell 与所有其它Win32进程一样,Shell ...

  4. Windows Shell 编程 第七章

    与所有其它 Win32 进程一样, Shell 也有其自己的内存地址空间,这是其它应用完全不可知的地址空间.为了进入这个地址空间,我们必须传递一定数量的控制点,就象我们正在跨过国家边界一样.在 Win ...

  5. UNIX环境高级编程--第七章

    1进程终止 进程正常终止: view plaincopy to clipboard #include<stdlib.h>    void exit(int status);    void ...

  6. Windows核心编程 第七章 线程的调度、优先级和亲缘性(下)

    7.6 运用结构环境 现在应该懂得环境结构在线程调度中所起的重要作用了.环境结构使得系统能够记住线程的状态,这样,当下次线程拥有可以运行的C P U时,它就能够找到它上次中断运行的地方. 知道这样低层 ...

  7. java获取其他类的线程,使用Java实现面向对象编程——第七章 多线程

    1.进程:是指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间): Eg:用户点击桌面的IE浏览器,就启动了一个进程,操作系统就会为该进程分配独立的地址空间.当用户再次点击左面的IE浏览器, ...

  8. ros高效编程第七章

    7.4.3 7.5 抓取和放置 场景规划 两种方式:三维感知,通过rgd 通过编程加入物体. 他这里其实就是在rviz中通过编程手动加入了几个物体,位置刚好与gazebo的对应上了,与点云信息也同时对 ...

  9. 105-网络编程——第七章原始套接字编程(上)

    1.原始套接字是允许访问底层传输协议的一种套接字类型,提供了普通套接字所不具备的功能,能够对网络数据包进行某种程度的控制操作 因此原始套接字通常用于开发简单网络性能监视程序以及网络探测.网络攻击 2. ...

最新文章

  1. 一个二维码能装10T电影?看样子我也能改变世界了
  2. android_N项目(高通平台 CTS修改总结
  3. 中国阻燃纤维板市场运行局势分析与产销需求前景展望报告2022年
  4. 【offer去哪了】我一连面试了十个Java岗,统统石沉大海!
  5. 数字电路反相器符号_数字电路の门电路(1)
  6. What means the error-message 'java.lang.OutOfMemoryError: GC overhead limit exceeded' in Java?
  7. 八、PHP框架Laravel学习笔记——表单伪造和 CSRF 保护
  8. rpm方式安装MySQL-5.6
  9. php 对mvc的认识,【PHP】MVC框架为何这么难! 4年后终于明白了,被ThinkPHP害得!...
  10. 人生苦短,我用python-- Day6 面向对象
  11. 字符串转数组的几种方法和字符串的截取
  12. symantec病毒服务器的部署及配置
  13. 分类和聚类有什么区别?
  14. Adapter 模式
  15. android手机的短信文件,手机短信下载的文件在哪里(教你如何查看手机短信内容)...
  16. undo歌词中文音译_T-ara - Lovey Dovey 罗马拼音+中文歌词+韩文歌词+中文音译
  17. ALEXA解释(日IP500,可以使你进10万内)
  18. 办公计算机班半学期总结,计算机班的班主任工作总结.docx
  19. Android-原笔迹钢笔手写的探索与开发
  20. 机器学习笔记:特征处理——相关性分析GINI impurity

热门文章

  1. 手动搭建一个Spring Boot项目
  2. MySQL Sandbox---快速体验各版本MySQL
  3. Tensorflow源码解析6 -- TensorFlow本地运行时
  4. 0基础如何入门Python编程
  5. springboot activiti 配置项详解
  6. SAP面向iOS设备推Cloud Platform SDK工具
  7. Node.js 切近实战(十一) 之实时通讯
  8. zookeeker如何解决HBase单节点故障
  9. oracle 11g-R2安装
  10. 配置和使用OCS 2007会议功能