用C#写经理评分系统
先写需求:
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#写经理评分系统的更多相关文章
- C#之经理评分系统
PM类,几乎全是属性 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...
- 原生JS实现-星级评分系统
今天我又写了个很酷的实例:星级评分系统(可自定义星星个数.显示信息) sufuStar.star();使用默认值5个星星,默认信息 var msg = [........]; sufuStar.sta ...
- 使用C# WinForm窗体制作经理评分项目 ——S2 2.2
在窗口加载时初始化三个员工对象 用数组存放 这是员工类的大致字段和属性. 在FrmMain中给对象数组附初值 以上 FrmMain中用一个ListView控件展示员工信息,通过以上代码将对象数组中的内 ...
- 美国FICO评分系统简介
美国的个人信用评分系统,主要是Fair IsaacCompany 推出的 FICO,评分系统也由此得名.一般来讲, 美国人经常谈到的你的得分 ,通常指的是你目前的FICO分数.而实际上, Fair I ...
- 数组练习:各种数组方法的使用&&事件练习:封装兼容性添加、删除事件的函数&&星级评分系统
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 基于python 信用卡评分系统 的数据分析
基于python 信用卡评分系统 的数据分析 import pandas as pd import matplotlib.pyplot as plt #导入图像库 from sklearn.ensem ...
- Django写的投票系统2(转)
在上一篇中 django实例:创建你的第一个应用投票系统(一) 已经介绍基本的功能,并已经启动服务了.这一节介绍数据库相关的东东. 首页打开mysite/settings.py配置文件, 设置数据库打 ...
- Mahout分布式运行实例:基于矩阵分解的协同过滤评分系统(一个命令实现文件格式的转换)
Apr 08, 2014 Categories in tutorial tagged with Mahout hadoop 协同过滤 Joe Jiang 前言:之前配置Mahout时测试过一个简 ...
- 103041000997维护的是周批,按周合并后再考虑最小采购批量、舍入值、然后回写到SAP系统
描述:103041000997维护的是周批量,但最终没有按周批量来回写数据. 业务逻辑如下: 1.净需求考虑数量按周汇总(也有按日.按3天,具体 要根据物料主数据维护来判断) 2.第1点的结果再加上安 ...
随机推荐
- Maven 搭建SpringMvc+Spring+Mybatis详细记录
总觉得,看比人写的总是那么好,每次搭建框架时都会找博客,找教程来跟着一步一步走,虽然很快搭建成功了,但是经常情况是我并不知道我干了什么,也不记得具体步骤,到底为什么要这么做,今天我详细记录了一下自己搭 ...
- SQL Server-聚焦NOLOCK、UPDLOCK、HOLDLOCK、READPAST你弄懂多少?(三十四)
前言 时间流逝比较快,博主也在快马加鞭学习SQL Server,下班回来再晚也不忘记更新下博客,时间挤挤总会有的,现在的努力求的是未来所谓的安稳,每学一门为的是深度而不是广度,求的是知识自成体系而不是 ...
- C++ 11 学习1:类型自动推导 auto和decltype
Cocos 3.x 用了大量的C++ 11 的东西,所以作为一个C++忠实粉丝,有必要对C++ 11进行一个系统的学习. 使用C++11之前,一定要注意自己使用的编译器对C++11的支持情况,有些编译 ...
- npm学习总结
1.npm run [scripts name]的作用及意义: npm 局部安装的工具包不能像全局安装那样直接执行命令行,但可写成命令行执行语句,通过npm run来运行,该命令可将node_modu ...
- wemall app商城源码Fragment中监听onKey事件
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享android开发Fragment中监听onK ...
- 1625: [Usaco2007 Dec]宝石手镯
1625: [Usaco2007 Dec]宝石手镯 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 919 Solved: 618 [Submit][S ...
- No module named machinery
py2exe模块0.9版本只支持python3以上,要想在python2.7中运用,就要下载0.6 版本的py2exe http://sourceforge.net/projects/py2exe/f ...
- 用 Visual Studio Code 调试 Node.js
环境: Visual Studio Code Node.js 1. 关闭运行中的程序 2.打开入口文件,我这里的入口文件为 app.js 3.点击左侧菜单栏的 debug 按钮 4.点击运行按钮 5 ...
- select count(*)优化 快速得到总记录数
1.select count(*) from table_name 比select count(主键列) from table_name和select count(1) from table_name ...
- 【G】开源的分布式部署解决方案文档 - 使用手册
G.系列导航 [G]开源的分布式部署解决方案 - 导航 已知问题 导航没有联动 因为权限只是做了基础的登录校验,考虑到后面导航要跟权限关联上暂时是写死的. 只有部分界面使用了Vue.js 因为刚开始没 ...