转载

项目经理评分

项目经理评分呢,用到了这些知识.

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 Score 13         { 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 PM 2     { 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             try 29             { 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     } 

这样就完事啦.慢慢品吧

原文  http://www.cnblogs.com/weiguangyi/p/5203367.html
正文到此结束
Loading...