首先我我们看一下需求:我们要做的是显示员工信息,实现项目经理给员工评分的功能!

首先项目经理是评分的人所以没有用,因为我们自己写,评分的就是我们自己.所以我们要做的是先在vs也就是我们的环境里建一个项目,在建一个Windows窗体应用程序,然后把控件拖好!

左边是查看员工的信息窗体,右边是给员工评分的窗体;

1.我们现在开始代码部分

我们首先需要一个辅助类,在辅助类里我们要做什么呢?我们要写这些东西。

public int id;
        public int age;
        public string name;
        public char sex;
        public int popularitymoods;
        public int score;
        public string appraise;

这些东西就是一些公有的字段!

然后初始化一个对象数组

public static SE[] se = new SE[10];

在初始化两条员工信息,以便测试之用
        public static void Insert()
        {
            SE s1 = new SE();
            s1.id = 111;
            s1.age = 26;
            s1.name = "王小毛";
            s1.appraise = "未评价";
            s1.score = 0;
            SE.se[0] = s1;

SE s2 = new SE();
            s2.id = 112;
            s2.age = 22;
            s2.name = "周新雨";
            s2.appraise = "未评价";
            s2.score = 0;
            SE.se[1] = s2;

SE s3 = new SE();
            s3.id = 113;
            s3.age = 30;
            s3.name = "张烨";
            s3.appraise = "未评价";
            s3.score = 0;
            SE.se[2] = s3;
        }

初始化好数据就真的开始进行操作,我们要在员工的信息窗体loal事件里写这样的一段代码

private void FrmFIrst_Load(object sender, EventArgs e)
        {
            if (SE.se[0] == null) 这是判断数组是空才可以插入数据
            {
                SE.Insert();调用初始化数据的方法
            }
           
           
            lvList.Items.Clear(); 清除ListView的所有项

遍历对象数据,如果不为空就把对象数组的数据给到lvList,让lvList现实对象数组的所有数据
            for (int i = 0; i < SE.se.Length; i++)
            {
                if (SE.se[i] != null)
                {
                    ListViewItem item = new ListViewItem(SE.se[i].id.ToString());
                    item.SubItems.Add(SE.se[i].name);
                    item.SubItems.Add(SE.se[i].age.ToString());
                    item.SubItems.Add(SE.se[i].appraise);
                    item.SubItems.Add(SE.se[i].score.ToString());
                    lvList.Items.Add(item);
                }
              
            }
         
        }

然后双击lvList的项调用员工评分的窗体

private void lvList_DoubleClick(object sender, EventArgs e)这是lvList的双击事件
        {

这涉及到窗体传值,我传了三个值,其实可以传一个值。因为是员工对经理的评价.

FrmJudge fj = new FrmJudge();
            fj.name = lvList.Items[0].SubItems[1].Text;
            fj.appraise = lvList.Items[0].SubItems[3].Text;
            fj.score = lvList.Items[0].SubItems[4].Text;
            this.Hide();
            fj.Show();
        }

然后在员工评分的窗体接收传过来的值;用三个公共变量。

public string  name;
        public string appraise;
        public string score;

这三个在公共变量之前已经建好,要不然也不可能.出来!

我们要用窗体上的TextBox接收传过来的值,让他一打开窗体就能看到显示得值.

所以在load事件把值赋给TextBox

private void FrmJudge_Load(object sender, EventArgs e)
        {
            txt1.Text= name ;
            txt2.Text = appraise ;
            txt3.Text=score ;
        }

这是我在取消的按钮写的代码

private void btn2_Click(object sender, EventArgs e)
        {
            FrmShow fs = new FrmShow();
            this.Hide();
            fs.Show();
        }

意思是只要我一点击取消,就会调用员工的信息窗体并且隐藏员工评分窗体!

增加的按钮,就是让他在对象数组里修改一条数据。然后显示在员工信息窗体!

private void btn1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < SE.se.Length; i++)遍历数组
            {
                if(SE.se[i]!=null)如果数组不为空
                {
                    if (SE.se[i].name == txt1.Text)并且数组内的元素等于我的txt1d的文本框
                    {

我就把他的评价和分数修改为我在文本框里添加的数据
                        SE.se[i].appraise = txt2.Text;
                        SE.se[i].score = Convert.ToInt32(txt3.Text);
                    }
                }               
            }

最后我在调用员工信息窗体,我的数据会重新加载!就会及时更新!
            FrmShow fs = new FrmShow();
            this.Hide();

fs.Show();

Winform窗体用对象数组做一个小项目的更多相关文章

  1. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  2. 使用PixiJS做一个小游戏

    PixiJS PixiJS使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库. 官方 ...

  3. 用RecyclerView做一个小清新的Gallery效果 - Ryan Lee的博客

    一.简介 RecyclerView现在已经是越来越强大,且不说已经被大家用到滚瓜烂熟的代替ListView的基础功能,现在RecyclerView还可以取代ViewPager实现Banner效果,当然 ...

  4. 用RecyclerView做一个小清新的Gallery效果

    一.简介 RecyclerView现在已经是越来越强大,且不说已经被大家用到滚瓜烂熟的代替ListView的基础功能,现在RecyclerView还可以取代ViewPager实现Banner效果,当然 ...

  5. 用MVC5+EF6+WebApi 做一个小功能(二) 项目需求整理

    在一个项目开始前,需求整理大概要占到整个项目周期15%甚至30%的比重,可以说需求理得越清楚,后续开发中返工几率越小.在一个项目中,开发新功能的花费的精力要远远小于修改功能的精力,这基本是一个共识.老 ...

  6. MongoDB中对象反序列化的一个小问题

    今天在mongoDB存取对象数据的时候,碰到一个小问题:对象的某一个字段类型是抽象类或者接口.在存入的时候没有问题.可是在读取的时候,因为没有详细类的信息,无法完毕对象的又一次构建.就会报错: Can ...

  7. jquery做一个小的轮播插件---有BUG,后续修改

    //首页无缝轮播 ; (function($, window, document, undefined) { $.fn.slider = function(options) { var default ...

  8. E时代主机,其实做一个小虚拟主机还是不错的

    http://www.idcen.com/ 做微信没有网上测试地址,找了一下发现以前用过的.记录一下.一个100m的虚拟主机需要三四十块钱,做微信,做一个小型网站还是够用的,就是mysql有点问题,不 ...

  9. 用MVC5+EF6+WebApi 做一个小功能(三) 项目搭建

    一般一个项目开始之前都会有启动会,需求交底等等,其中会有一个环节,大讲特讲项目的意义,然后取一个高大上的项目名字,咱这是一个小功能谈不上项目,但是名字不能太小气了.好吧,就叫Trump吧.没有任何含义 ...

随机推荐

  1. Windows下安装Oracle拖慢开机速度的解决方法

    环境:win7 + oracle R2 方法:将安装Oracle后自动开机启动的服务改为手动启动 步骤如下: 1.修改服务项 Ctrl + R,输入services.msc,打开服务列表,找到Orac ...

  2. jsp标签

    常规的jsp标签,导入如下 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Monaco; color: #3933ff } span.s1 ...

  3. js div及table首行顶部吸附示例

    js div顶部吸附示例,例如这样: 以下为DIV顶部吸附示例:(此示例来自于网络,在此记录与分享!感谢原作者!) 示例1:兼容IE6 <div style="height:300px ...

  4. HDU 1859

    #include <iostream> #include <cstdio> #include <algorithm> #include <vector> ...

  5. ffmpeg为视频添加时间戳 - 手动编译ffmpeg

    FFMPEG给视频加时间戳水印 项目中需要给视频添加时间戳,理所当然最好用的办法是ffmpeg.在找到正确的做法前,还被网上的答案timecode给水了一下(水的不轻,在这里转了2天),大概是这样写的 ...

  6. dom 无法找到 body节点问题

    最近在学习html dom节点知识时候,对照代码自己敲了一边,始终获取不到文档中的body对象,代码如下(未修改前): <!doctype html> <html> <h ...

  7. BZOJ2802——[Poi2012]Warehouse Store

    1.题目巨短,自己看看吧 2.分析:这道题,想了半天dp还是想不到,最后看题解发现是个贪心的思想,我们维护一个堆,如果这个人不能加入就把他和堆上最大的进行比较,然后搞搞就行了 #include < ...

  8. windows7 gvim 配置(好用)

    http://blog.csdn.net/anders_zhuo/article/details/8949003

  9. C#高级编程笔记 2016年10月26日 MVC入门 Controller

    1.MVC的定义:   Models: Classes that represent the data of the application  and that use validation logi ...

  10. composer

    composer 是PHP框架的包安装工具,类似于bower ,npm.bundler. 是命令行工具,没有图形界面. 系统要求 运行 Composer 需要 PHP + 以上版本.一些敏感的 PHP ...