Tag a Class object containing a list
我有个班上的学生
字符串全名;list
我将一个对象学生从文本框编译成:
1 2 3 4 5 6 7 8 9 10 | private void button2_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.OK; if (IsValidData()) { List<string> result = txtScores.Text.Split(new [] {' '}, StringSplitOptions.RemoveEmptyEntries).ToList(); Student student = new Student(txtName.Text, result.Select(int.Parse).ToList()); this.Tag = student; this.Close(); } |
在Form1方面,我有:
1 2 3 4 5 6 7 8 9 10 | private void btnAddNew_Click(object sender, EventArgs e) { AddNewStudent addStudentForm = new AddNewStudent(); DialogResult selectedButton = addStudentForm.ShowDialog(); addStudentForm.Tag = new Student(); if (selectedButton == DialogResult.OK) student = addStudentForm.Tag as Student; students.Add(student); } |
我应该从另一个表单中的用户信息中获取标签来构造一个学生,并将其传递回表单1,然后将其添加到我的学生集合中。一旦它被添加,它应该像我在加载表单时手动创建的学生那样工作。相反,列表在运行时为空。我甚至可以通过标签移动包含列表的整个对象吗?如果可以,我哪里出错了?
您在addstudentForm.tag=new student();行中过度引用标记值