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

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

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

 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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值