首先我咱們看一下需求:咱們要作的是顯示員工信息,實現項目經理給員工評分的功能!數組
首先項目經理是評分的人因此沒有用,由於咱們本身寫,評分的就是咱們本身.因此咱們要作的是先在vs也就是咱們的環境裏建一個項目,在建一個Windows窗體應用程序,而後把控件拖好!app
左邊是查看員工的信息窗體,右邊是給員工評分的窗體;ide
1.咱們如今開始代碼部分測試
咱們首先須要一個輔助類,在輔助類裏咱們要作什麼呢?咱們要寫這些東西。this
public int id;
public int age;
public string name;
public char sex;
public int popularitymoods;
public int score;
public string appraise;
3d
這些東西就是一些公有的字段!對象
而後初始化一個對象數組blog
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;string
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();