先写需求:

01.显示员工信息

     02.实现项目经理给员工评分的功能

第一步:

     建立两个类,员工类和项目经理类

     定义属性和方法

    员工类:工号、年龄、姓名、人气值、项目经理年度评分、经理评价

    项目经理类:ID、年龄、姓名、性别、资历,由于经理可以给员工评分,因此还有评分的方法

先上两张图再说:

查看窗体FrmShow

评分窗体FrmJudge

不说了,上代码

首先是员工类

 using System.Text;
using System.Threading.Tasks; namespace 经理评分系统
{
public class SE
{ //员工工号
public int EngineerId { get; set; }
//员工年龄
public int Age { get; set; }
//员工性别
public char Sex { get; set; }
//员工姓名
public string Name { get; set; }
//员工人气值
public int PopularValue { get; set; }
//经理年度评分
public int MScore { get; set; }
//经理评价
public string Assess { get; set; } }
}

然后是经理类

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 经理评分系统
{
class PM
{
//经理ID
public int MId { get; set; }
//经理年龄
public int MAge{ get; set; }
//经理姓名
public string MName { get; set; }
//经理性别
public char MSex{get; set; } //定义评分方法
public void Judge(SE se,String assess,int score)
{
se.Assess = assess;
se.MScore = score;
}
}
}

接下来是查看窗体中的代码

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace 经理评分系统
{
public partial class FrmShow : Form
{
//定义员工数组
public SE[] engineer=new SE[];
public FrmShow()
{
InitializeComponent();
Init(); //初始化SE集合信息
UpdateView();
} //初始化员工信息
public void Init()
{
SE s1 = new SE();
s1.EngineerId = ;
s1.Age = ;
s1.Name = "王小毛";
s1.Assess = "未评价";
s1.MScore = ;
engineer[]=s1; SE s2 = new SE();
s2.EngineerId = ;
s2.Age = ;
s2.Name = "周新雨";
s2.Assess = "未评价";
s2.MScore = ;
engineer[] = s2; SE s3 = new SE();
s3.EngineerId = ;
s3.Age = ;
s3.Name = "张烨";
s3.Assess = "未评价";
s3.MScore = ;
engineer[] = s3; } //将数据绑定到listview对象的lvAssess上
public void UpdateView()
{
lvAssess.Items.Clear();//评价后对数据进行刷新
for (int i = ; i < engineer.Length;i++ )
{
ListViewItem item = new ListViewItem();
//将员工信息绑定到listview中
item.Text = engineer[i].EngineerId.ToString();
item.SubItems.Add(engineer[i].Name);
item.SubItems.Add(engineer[i].Age.ToString());
item.SubItems.Add(engineer[i].MScore.ToString());
item.SubItems.Add(engineer[i].Assess);
this.lvAssess.Items.Add(item);
}
}
//双击ListView
private void lvAssess_DoubleClick(object sender, EventArgs e)
{
//获取当前选中的对象
if(this .lvAssess.SelectedItems.Count==)
{
return;//必须先选中一行
}
int index = ;
for (int i = ; i < engineer.Length;i++)
{
if(engineer[i].EngineerId.ToString()==this.lvAssess.SelectedItems[].Text.Trim())
{
index = i;
break;
}
}
//选中对象评分
FrmJudge frm = new FrmJudge(this,index);
frm.Show();
}
}
}

最后是经理评分窗体中写的代码

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace 经理评分系统
{
public partial class FrmJudge : Form
{
//保存父窗体的实例
public FrmShow myParent;
//要评价的员工对象
private SE se; //参数:父窗体的实例、被评分的员工在员工数组中的位置
public FrmJudge(FrmShow fparent,int index)
{
InitializeComponent();
this.myParent = fparent;
this.se = myParent.engineer[index];
}
private void FrmJudge_Load(object sender, EventArgs e)
{
//窗体加载,显示要评价的员工的姓名和得分等信息
this.txtName.Text = se.Name;
this.txtPingJia.Text = se.Assess;
this.txtPingFen.Text = se.MScore.ToString(); }
//点击评分按钮响应事件
private void btnPingFen_Click(object sender, EventArgs e)
{
try
{
PM pm = new PM();
pm.Judge(se,this.txtPingJia.Text.Trim(),Int32.Parse(this.txtPingFen.Text.Trim()));
//刷新主窗体
this.myParent.UpdateView();
this.Close();
}
catch (Exception ex)
{
MessageBox.Show("评分失败!"+ex.ToString());
}
} private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
} }
}

用C#写经理评分系统的更多相关文章

  1. C#之经理评分系统

    PM类,几乎全是属性 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  2. 原生JS实现-星级评分系统

    今天我又写了个很酷的实例:星级评分系统(可自定义星星个数.显示信息) sufuStar.star();使用默认值5个星星,默认信息 var msg = [........]; sufuStar.sta ...

  3. 使用C# WinForm窗体制作经理评分项目 ——S2 2.2

    在窗口加载时初始化三个员工对象 用数组存放 这是员工类的大致字段和属性. 在FrmMain中给对象数组附初值 以上 FrmMain中用一个ListView控件展示员工信息,通过以上代码将对象数组中的内 ...

  4. 美国FICO评分系统简介

    美国的个人信用评分系统,主要是Fair IsaacCompany 推出的 FICO,评分系统也由此得名.一般来讲, 美国人经常谈到的你的得分 ,通常指的是你目前的FICO分数.而实际上, Fair I ...

  5. 数组练习:各种数组方法的使用&&事件练习:封装兼容性添加、删除事件的函数&&星级评分系统

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 基于python 信用卡评分系统 的数据分析

    基于python 信用卡评分系统 的数据分析 import pandas as pd import matplotlib.pyplot as plt #导入图像库 from sklearn.ensem ...

  7. Django写的投票系统2(转)

    在上一篇中 django实例:创建你的第一个应用投票系统(一) 已经介绍基本的功能,并已经启动服务了.这一节介绍数据库相关的东东. 首页打开mysite/settings.py配置文件, 设置数据库打 ...

  8. Mahout分布式运行实例:基于矩阵分解的协同过滤评分系统(一个命令实现文件格式的转换)

     Apr 08, 2014  Categories in tutorial tagged with Mahout hadoop 协同过滤  Joe Jiang 前言:之前配置Mahout时测试过一个简 ...

  9. 103041000997维护的是周批,按周合并后再考虑最小采购批量、舍入值、然后回写到SAP系统

    描述:103041000997维护的是周批量,但最终没有按周批量来回写数据. 业务逻辑如下: 1.净需求考虑数量按周汇总(也有按日.按3天,具体 要根据物料主数据维护来判断) 2.第1点的结果再加上安 ...

随机推荐

  1. 阅读Facebook POP框架 笔记(一)

    在这一系列文章里,我主要会将自己阅读第三方代码的经历记录下来,尝试独立分析解剖一个框架.之前也阅读过一些第三方代码,但是实际上来说对自己的成长并没有太大的帮助,因为阅读的不细致,没有领会到代码的精髓. ...

  2. angular : ngModel 内部流程

    angular 1.5 beta link NgModelController provides API for the ngModel directive. The controller conta ...

  3. css中的那些布局

    因为最近心血来潮,就总结了一下css中的几种常见的多列布局. 两列自适应布局 两列自适应布局算是css布局里面最基础的一种布局了,不少网站在使用. 这种布局通常是左侧固定,右边自适应,当然也有反过来的 ...

  4. 【Scala】Scala之Object

    一.前言 前面学习了Scala的Methods,接着学习Scala中的Object 二.Object Object在Scala有两种含义,在Java中,其代表一个类的实例,而在Scala中,其还是一个 ...

  5. Angular开发者指南(一)入门介绍

    什么是Angular AngularJS是动态Web应用程序的结构框架. 它允许您使用HTML作为模板语言,并允许您扩展HTML的语法以清晰,简洁地表达应用程序的组件.AngularJS的数据绑定和依 ...

  6. C#一定比C++性能差?当然不!破除迷信,从我做起!

    几乎所有的程序员在初学编程之时,都被灌输过"托管语言(Java.C#)性能比非托管语言(C.C++)差好多" 的迷信教条.如果你问他们为什么,他们一定会说:托管语言需要通过虚拟机或 ...

  7. WinSCP 中普通用户以 root 身份登录 Linux

    版本说明: Windows 10 CentOS 7 WinSCP 5.7.7 (Build 6257) 问题背景 使用 WinSCP 登录 CentOS 上传文件,使用的是普通用户,且已加入 sudo ...

  8. Java进程通讯

    管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信. 创建子进程Java有两种方式 //第一种 Runtime rt = Runtime.get ...

  9. 从USB驱动器运行Windows 10

    我相信很多人和我一样.梦想着有个随身携带的U盘版操作系统.无论走到哪里,只要有电脑都可以随时运行自己配置好的操作系统.本篇博文就会一步步的教你如何从USB驱动器加载和运行Windows 10. 让我想 ...

  10. C++游戏服务器的性能优化

    以下只是某次项目的一次经历,最终并没有按照这样的方案来优化,但对思路方面确实是一个提高,所以记录在此. ------------------------------------------------ ...