【发布时间】:2015-12-15 21:25:05
【问题描述】:
这是我目前正在尝试创建的图像。
基本上我想写下姓名、姓氏、年龄并将新学生添加到列表中。 之后我希望学生显示在列表框中,但列表框是另一种形式。 我的问题是我无法进入另一种形式的列表框。我是否还必须以新形式再创建一个列表?
我的代码:
Form1:
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} \t\t {1} \t\t {2}", Name, Surname, Age);
}
}
public partial class Form1 : Form
{
List<Students> stud = new List<Students>();
public Form1()
{
this.IsMdiContainer = true;
InitializeComponent();
}
private void addNewStudentToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(stud);
f2.MdiParent = this;
f2.Show();
}
private void showAllStudentsInfoToolStripMenuItem_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3(stud);
f3.MdiParent = this;
f3.Show();
}
}
Form2:
public partial class Form2 : Form
{
public Form2(List<Students> stud)
{
InitializeComponent();
studnew = stud;
}
List<Students> studnew;
private void button1_Click(object sender, EventArgs e)
{
Students student = new Students();
student.Name = textBox1.Text;
student.Surname = textBox2.Text;
student.Age = Convert.ToInt32(textBox3.Text);
studnew.Add(student);
}
}
Form3:
public partial class Form3 : Form
{
public Form3(List<Students> stud)
{
InitializeComponent();
studnewf3 = stud;
}
List<Students> studnewf3;
private void Form3_Load(object sender, EventArgs e)
{
listBox1.Items.Add("Name \t\t Surname \t\t Age");
}
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Add(student);
}
}
【问题讨论】:
-
有什么问题?只需将传递的列表存储到
Form3构造函数中的表单字段中,就像您在Form2中所做的那样 -
看看
Application.Openforms -
这是作业吗?
-
考前练习。不是真正的家庭作业。
-
但据我了解,您只想显示
Form3列表中的所有学生,对吗?在Form3_Load中添加foreach (var student in studnewf3) listBox1.Items.Add(student);