C#中的ListBox 和集合问题
要求:1、点添加按钮时,将员工信息保存在一数组中,同时添加到右边的€中
2、当右边的ListBox在选择不同的项时,左边文本框中显示相应的学生信息,(如选中李四,左边文本框中出现李四的基本信息,此时编号框不可用,也就是编号不允许用户修改,其它的信息可以修改,点编辑按钮时,将修改的信息覆盖原来的信息)
3、编号和工资只允许输入数字
4、关闭按钮用于退出应用程序
满意答案
这个题目好眼熟啊! 做这题需要了解ListBox的用法,也算是一个技巧吧。 先定义一个员工类,有编号、姓名、部门、工资4个属性,重写toString方法,返回姓名。 添加,LIstBox是可以直接添加object的,显示文本自动调用object的toString方法。所以你只要new一个员工对象,填充属性,加到ListBox里就行。 显示的时候,取出ListBox里的对象,可以直接转成员工对象,编号、姓名、部门、工资属性都在。 其他的功能没什么好说的,都是常规用法。
- 好:0
- 不好:0
- 原创:0
- 非原创:0
张迪
回答采纳率: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楼说的差不多了