略微高端的经理评价系统

本文详细阐述了一个员工与经理互动的评分系统实现过程,包括员工类与经理类的设计、评分窗体的创建与事件处理。通过实例演示了如何在ListView中展示员工信息并实现双击事件触发评分窗口,最终完成评分后的数据更新。

首先我们先需要建立窗体文件,构建结构,首先创建两个类,员工类(SE)和经理类(PM)。

在员工类里面封装属性:

代码:

//工号
public string ID { get; set; }
//姓名
public string Name { get; set; }
//年龄
public int Age { get; set; }
//性别
public char Sex { get; set; }
//人气值
private int popularity = 0;
public int Popularity
{
  get { return popularity; }
  set { popularity = value; }
}

//项目经理年度评分
private int score = 0;
public int Score
{
  get { return score; }
  set { score = value; }
}

// 经理评价 
private String assess = "未评价";
public String Assess
{
  get { return assess; }
  set { assess = value; }
}

项目经理和员工类一样也是封装的属性(这里就不写了)

就多了个方法

代码:

public void Judge(SE se, string assess, int score)
{
se.Assess = assess;
se.Score = score;
}

属性写完了,接下来写评分窗体(frmShow)

实现思路:

首先添加定义员工数组,将员工数组绑定到frmShow窗体的ListView控件上,在Load事件中初始化3个员工信息

代码:

public SE[] engineers = new SE[3];
#region 窗体Load事件
private void FrmShow_Load(object sender, EventArgs e)
{
  frmSe();
  UpdataListView(); 
}
#endregion

#region 初始化
private void frmSe()
{
  engineers[0] = new SE();
  engineers[0].ID = "111";
  engineers[0].Age = 26;
  engineers[0].Name = "王小毛";
  engineers[0].Sex = '男';

  engineers[1] = new SE();
  engineers[1].ID = "112";
  engineers[1].Age = 22;
  engineers[1].Name = "周新雨";
  engineers[1].Sex = '男';

  engineers[2] = new SE();
  engineers[2].ID = "113";
  engineers[2].Age = 30;
  engineers[2].Name = "张桦";
  engineers[2].Sex = '男';
}
#endregion

#region 添加数据
public void UpdataListView()
{
  lvAssess.Items.Clear(); //清空ListView里面的数据信息

  for (int i = 0; i < engineers.Length; i++)
  {
    ListViewItem item = new ListViewItem();
    item.Text = engineers[i].ID;
    item.SubItems.Add(engineers[i].Name);
    item.SubItems.Add(engineers[i].Age.ToString());
    item.SubItems.Add(engineers[i].Assess.ToString());
    item.SubItems.Add(engineers[i].Score.ToString());
    lvAssess.Items.Add(item);
  }
}
#endregion

接下来就写评分了,

双击ListView的事件单出评分窗口

那么这里用到了数据传递,那么这么实现呢?

代码:

#region    ListView的 双击事件
private void lvAssess_DoubleClick(object sender, EventArgs e)
{
  FrmJudge frm = new FrmJudge(); //调用评分窗体
  frm.name = lvAssess.SelectedItems[0].SubItems[1].Text;
  ListViewItem item = lvAssess.SelectedItems[0];
  frm.myitem = item;
  frm.Show();
}
#endregion

思路:

首先在评分窗体里面声明俩个共有的变量

public string name;
public ListViewItem myitem;

在Load的事件中给文本框赋值

#region 窗体
private void FrmJudge_Load(object sender, EventArgs e)
{
  txtName.Text = name;

  txtAssess.Text = myitem.SubItems[3].Text; 

  txtScore.Text = myitem.SubItems[4].Text;
}
#endregion

在评分完毕后的事件里面,从新给评价和年度得分赋值

#region 评分响应事件
private void btnOK_Click(object sender, EventArgs e)
{

  myitem.SubItems[3].Text = txtAssess.Text;
  myitem.SubItems[4].Text = txtScore.Text;
  this.Close(); //关闭窗体
}
#endregion

评完分以后

转载于:https://www.cnblogs.com/zsping/p/5333860.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值