C#中的ListBox 和集合问题

时间:2022-06-01 05:10:26

C#中的ListBox 和集合问题

[ 标签:c#listbox ]ミ缘ooωěī2009-07-04 18:49

C#中的ListBox 和集合问题

要求:1、点添加按钮时,将员工信息保存在一数组中,同时添加到右边的€中

      2、当右边的ListBox在选择不同的项时,左边文本框中显示相应的学生信息,(如选中李四,左边文本框中出现李四的基本信息,此时编号框不可用,也就是编号不允许用户修改,其它的信息可以修改,点编辑按钮时,将修改的信息覆盖原来的信息)

          3、编号和工资只允许输入数字

          4、关闭按钮用于退出应用程序

 

满意答案

这个题目好眼熟啊!
做这题需要了解ListBox的用法,也算是一个技巧吧。
先定义一个员工类,有编号、姓名、部门、工资4个属性,重写toString方法,返回姓名。
添加,LIstBox是可以直接添加object的,显示文本自动调用object的toString方法。所以你只要new一个员工对象,填充属性,加到ListBox里就行。
显示的时候,取出ListBox里的对象,可以直接转成员工对象,编号、姓名、部门、工资属性都在。
其他的功能没什么好说的,都是常规用法。
张迪回答采纳率:28.1%2009-07-01 22:22

满意答案

public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

List<Emp> ls = new List<Emp>();
private void button1_Click(object sender, EventArgs e)
{
Emp ep = new Emp();
ep.No = this.textBox1.Text.Trim();
ep.Name = this.textBox2.Text.Trim();
ep.Job = this.textBox3.Text.Trim();
ep.Salary = float.Parse(this.textBox4.Text.Trim());
this.ls.Add(ep);
this.listBox1.Items.Add(ep.Name);
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int index=this.listBox1.SelectedIndex;
this.textBox1.Text= ls[index].No;
this.textBox2.Text = ls[index].Name;
this.textBox3.Text = ls[index].Job;
this.textBox4.Text = ls[index].Salary.ToString();
}
}
class Emp
{
string _no;

public string No
{
get { return _no; }
set { _no = value; }
}
string _name;

public string Name
{
get { return _name; }
set { _name = value; }
}
string _job;

public string Job
{
get { return _job; }
set { _job = value; }
}
float _salary;

public float Salary
{
get { return _salary; }
set { _salary = value; }
}
}
这是这个题的代码 注释就和2楼说的差不多了