• (深入.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 + "
    发现的BUG数量:" + BugCount + "
    工作日:" + 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 + "
    遗留问题:" + Pro + "
    工作日:" + 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

  • 相关阅读:
    第十次作业
    第九次作业
    第八次作业总结
    第八次作业
    C语言总结(6)
    作业十二总结
    作业十一总结
    实验十总结
    实验九总结
    第一次附加作业
  • 原文地址:https://www.cnblogs.com/1-2-3-4/p/6699250.html
Copyright © 2020-2023  润新知