项目经理评分呢,用到了这些知识.
1.怎么进行方法调用? 2.值类型和应用类型的使用 3.对象数组 4.窗体间传递数据
窗体如下:
当你运行员工列表的窗体时,数据会自动在窗体上.
当你双击某一个员工的信息时,弹出评分窗体
评分窗体,你可以填数据.当你按评分按钮时,数据会在员工列表窗体上更新.
实现的主要思路:
1.创建SE类
属性:
1 public class SE 2 { 3 private string assess; 4 5 public string Assess 6 { 7 get { return assess; } 8 set { assess = value; } 9 }10 private int score;11 12 public int Score13 {14 get { return score; }15 set { score = value; }16 }17 18 public int Id { get; set; }19 public string Name { get; set; }20 public int Age { get; set; }21 22 }
2.创建PM类
1 public class PM2 {3 //assess:评估4 public void Judge(SE se,string assess,int score) {5 se.Assess = assess;6 se.Score = score;7 8 }9 }
3.在员工列表窗体的主要代码
1 public partial class FrmShow : Form 2 { 3 public FrmShow() 4 { 5 InitializeComponent(); 6 this.UpdateView(); 7 } 8 public SE[] engineers = new SE[3]; 9 //绑定数据10 public void UpdateView() {11 lvlist.Items.Clear();12 engineers[0] = new SE();13 engineers[0].Id = 111;14 engineers[0].Name = "王小毛";15 engineers[0].Age = 26;16 engineers[0].Assess = "未评价";17 engineers[0].Score = 0;18 engineers[1] = new SE();19 engineers[1].Id = 112;20 engineers[1].Name = "周新雨";21 engineers[1].Age = 22;22 engineers[1].Assess = "未评价";23 engineers[1].Score = 0;24 engineers[2] = new SE();25 engineers[2].Id = 113;26 engineers[2].Name = "张烨";27 engineers[2].Age = 30;28 engineers[2].Assess = "未评价";29 engineers[2].Score = 0;30 for (int i = 0; i < engineers.Length; i++)31 {32 ListViewItem item = new ListViewItem();33 ListViewItem lv = new ListViewItem(engineers[i].Id.ToString());34 lv.SubItems.Add(engineers[i].Name);35 lv.SubItems.Add(engineers[i].Age.ToString());36 lv.SubItems.Add(engineers[i].Assess);37 lv.SubItems.Add(engineers[i].Score.ToString());38 this.lvlist.Items.Add(lv);39 lvlist.Items.Add(item); 40 } 41 }42 //双击listview控件时,弹出Frmjudege窗体43 private void lvlist_DoubleClick(object sender, EventArgs e)44 {45 //获取当前选中的SE德尔对象46 if (this.lvlist.SelectedItems.Count==0)47 {48 return;//必须先选中一行49 50 }51 int index = 0;52 for (int i = 0; i < engineers.Length; i++)53 {54 if (engineers[i].Id.Equals(this.lvlist.SelectedItems[0].Text.Trim()))55 {56 index = i;57 break;58 }59 } 60 //对选中对象评分61 FrmJudge frm = new FrmJudge(this,index);62 frm.Show();63 64 }
4.在评分窗体 的代码
1 public partial class FrmJudge : Form 2 { 3 public FrmJudge() 4 { 5 InitializeComponent(); 6 } 7 //保存父窗体的实例 8 private FrmShow myParent; 9 //要评价的员工对象10 private SE se;11 public FrmJudge(FrmShow fparent,int index) {12 InitializeComponent();13 this.myParent = fparent;14 this.se=myParent.engineers[index];15 } 16 private void FrmJudge_Load(object sender, EventArgs e)17 {18 //窗体加载,显示要评价的员工的姓名和得分19 this.txtname.Text = se.Name;20 this.txtmark.Text = se.Assess;21 this.txtScore.Text = se.Score.ToString();22 }23 24 private void btnScore_Click(object sender, EventArgs e)25 {26 //se.Score =Convert.ToInt32( txtScore.Text);27 //se.Assess = txtmark.Text;28 try29 {30 PM pm = new PM();31 pm.Judge(se, this.txtmark.Text.Trim(), Int32.Parse(this.txtScore.Text.Trim()));32 this.myParent.UpdateView();//刷新主窗体33 this.Close();34 }35 catch (Exception)36 {37 MessageBox.Show("评分失败!");38 }39 }40 //取消41 private void btnCancel_Click(object sender, EventArgs e)42 {43 this.Close();44 }45 46 }
这样就完事啦.慢慢品吧
原标题:项目经理评分
关键词: