标签:
今天闲来无事做了一个小项目:
经理评分系统
来看看我是怎么做的
首先创建一个类:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Frmshow { class SE { //在这个类中声明四个变量; public string name; public int age; public string pj; public int pf; public int id; } }
//这都很简单
SE[] se = new SE[3];
private void Form1_Load(object sender, EventArgs e)
{
//向数组中添加三条数据
SE a1= new SE();
a1.id = 111;
a1.name = "王小明";
a1.age = 26;
a1.pj = "未评价";
a1.pf = 0;
se[0] = a1;
SE a2 = new SE();
a2.id = 112;
a2.name = "周新宇";
a2.age = 22;
a2.pj = "未评价";
a2.pf = 0;
se[1] = a2;
SE a3 = new SE();
a3.id = 113;
a3.name = "张华";
a3.age = 30;
a3.pj = "未评价";
a3.pf = 0;
se[2] = a3;
// 遍历对象数据,如果不为空就把对象数组的数据给到lvList,让lvList现实对象数组的所有数据
for (int i = 0; i < se.Length; i++)
{
//通过listviewitem绑定数据
ListViewItem item = new ListViewItem(se[i].id.ToString());
item.SubItems.Add(se[i].name);
item.SubItems.Add(se[i].age.ToString());//这是个类型转换,把它转换成string类型。
item.SubItems.Add(se[i].pj);
item.SubItems.Add(se[i].pf.ToString());
listView1.Items.Add(item);
}
}
private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
//双击list的事件调用评分窗体
FrmJuudge a = new FrmJuudge();
ListViewItem selectRow = listView1.SelectedItems[0];
//直接将 ListViewItem 的所有项的集合传给另一个已经声明好的空的 ListViewItem。
//本来可以直接把三个值传给评分窗体,但用这种方法比较麻烦,所有用了上面的方法。
//a.pj = listView1.SelectedItems[0].SubItems[3].Text;
//a.pf = listView1.SelectedItems[0].SubItems[2].Text;
a.item = selectRow;
a.Show();
}
打开第二个窗体

public ListViewItem item;//将ListViewItem 变成公共的,这样就可以把窗体Form1的每一项的值给传递过来。
//写在load事件里 private void FrmJuudge_Load(object sender, EventArgs e) { //让ListViewItem item的每一项的值赋给 textBox,这样就能让窗体FrmJuudge的显示出来 //但是从ListViewItem提到的不是内存中的值,而是从 ListViewItem这个集里提取,但它不是真实的值。 textBox1.Text = item.SubItems[1].Text; textBox2.Text = item.SubItems[3].Text; textBox3.Text = item.SubItems[4].Text; } //在保存按钮中。 private void button1_Click(object sender, EventArgs e) { //这里 textBox已经得到了传来的值这些值都是来自ListViewItem item该项所有子项的集合,所以说如果改变textBox里的值也就相当于改变了 ListViewItem,集合里的数据,但原始内存中的值并没改变。 item.SubItems[1].Text = textBox1.Text; item.SubItems[3].Text = textBox2.Text; item.SubItems[4].Text = textBox3.Text; } private void button2_Click(object sender, EventArgs e) { //取消按钮,关闭所有窗体 Application.Exit(); // this.Close(); }
标签:
原文地址:http://www.cnblogs.com/xiaoyu1997/p/5811393.html