将学生姓名,姓氏和年龄从列表添加到ListBox

时间:2015-12-15 18:00:55

标签: c# winforms listbox

我有3个textboxes,我可以在其中输入NameSurnameAge。 按下button1后,它会生成一个具有这些属性的新学生。

如何将具有所有3个属性的学生添加到ListBox? 看起来像这样:

  

/#/ - 姓名 - 姓氏 - 年龄
1 - John - Smith - 21
2 -   Tony - Hawk - 22

我的代码:

public class Students
{
     public string Name;
     public string Surname;
     public int Age;
}
public partial class Form1 : Form
{
     List<Students> group = new List<Students>();
     public Form1()
     {
         InitializeComponent();
     }

     private void label1_Click(object sender, EventArgs e)
     {
         Students student = new Students();
         student.Name = textBox1.Text;
         student.Surname = textBox2.Text;
         student.Age = Convert.ToInt32(textBox3.Text);
         group.Add(student);
     }
}

2 个答案:

答案 0 :(得分:1)

试试这个:

foreach (var item in group)
{
    listBox1.Items.Add(item);
}
listBox1.DisplayMember = "Name";

或者这个:

public class Students
{
    public string Name { get; set; }
    public string Surname { get; set; }
    public int Age { get; set; }
    public override string ToString()
    {
        return string.Format("{0} -- {1} -- {2}", Name, Surname, Age);
    }
}

此外,您应该将类​​中的字段更改为以下属性:

ListBox

编辑:我认为你想要这个(通过按下按钮它会添加到group,你不再需要ToString列表。只是不要忘了覆盖类中的private void button1_Click(object sender, EventArgs e) { Students student = new Students(); student.Name = textBox4.Text; student.Surname = textBox5.Text; student.Age = Convert.ToInt32(textBox6.Text); listBox1.Items.Add(student); }

UPDATE products
SET price = CAST(price AS NUMERIC);

答案 1 :(得分:0)

如果适用,您还应该有一个ID(除非您的规范另有说明。)包含1,2等。为了实际显示信息,您可以覆盖ToString()方法以在列表框中显示它你想怎么做。

public class Student
{
     public string Name { get; set; }
     public string Surname { get; set; }
     public int Age { get; set; }
     public int ID { get; set; }

     public override string ToString()
     {
          return string.Format("{0} -- {1} -- {2} -- {3}", ID, Name, Surname, Age);
     }
}

并将ListBox上的DataSource设置为“group”。