将列表中的学生姓名,姓氏和年龄添加到列表框 [英] Add students name,surname and age from list to ListBox
问题描述
我有3个textboxes
,可以在其中输入Name
,Surname
和Age
.
在我按下button1之后,它将使新学生具有这些属性.
I have 3 textboxes
where I can enter Name
,Surname
and Age
.
After i press button1, it makes a new student with these attributes.
如何将具有所有3个属性的学生添加到ListBox
?
看起来像这样:
How can I add student with all 3 attributes to ListBox
?
Look like this:
/#/-名称-姓氏-年龄
1-约翰-史密斯-21
2- 托尼-霍克-22
/#/ -- Name -- Surname -- Age
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);
}
}
推荐答案
尝试一下:
listBox1.DataSource = group;
listBox1.DisplayMember = "Name"; //Set the DisplayMember property to avoid call ToString()
或者这个:
foreach (var item in group)
{
listBox1.Items.Add(item);
}
listBox1.DisplayMember = "Name";
还应将类中的字段更改为如下属性:
Also you shoud change the fields in your class to properties like this:
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
在该类中):
I think you want this (By pressing button it adds to the ListBox
and you don't need the group
list anymore. Just don't forget to override the ToString
in the class):
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);
}
这篇关于将列表中的学生姓名,姓氏和年龄添加到列表框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!