visual studio c#类和使用MDI的多表单应用程序的对象

时间:2016-05-22 05:59:34

标签: c# windows forms

我的第一篇文章虽然我是一位狂热的读者。我的问题是学生注册系统(没有数据绑定,数据库)只是简单地添加一些论文和学生能够通过用户表单添加学生和论文。 课堂练习和多种形式。 我在项目中有类和表单,并使用MDI进行链接,这有问题。我似乎无法以form1(父级)以外的形式访问成员,这不是理想的,就像我试图隐藏整个应用程序关闭一样。 此外,我无法在我创建的学生注册表单中将新条目添加到学生列表中作为对象。

鉴于课程:

public class Student
    {
        public int IdNumber { get; set; }
        public string Name { get; set; }
        public string Dob { get; set; }
        public int Age { get; set; }
        public string Address { get; set; }

        public Student(int idNumber,     string name, string dob, int age, string address)
        {
            IdNumber = idNumber;
            Name = name;
            Dob = dob;
            Age = age;
            Address = address;
        }

        public override string ToString()
        {
            return "Student ID: " + IdNumber.ToString() + " Name: " + Name + " DOB: " + Dob.ToString() + " Age: " +
                   Age.ToString() + " Address: " + Address + Environment.NewLine;
        }
    }

填充学生列表:

private void Form1_Load(object sender, EventArgs e)
        {


            myStudents.Add(new Student(123, "Andrew","3/05/1978",27,"123 home street"));
            myStudents.Add(new Student(124, "John", "17/02/1989", 26, "12 argus place"));
            myStudents.Add(new Student(125, "Steve", "12/05/1989", 34, "14 home road"));
            myStudents.Add(new Student(126, "Mary", "1/07/1972", 19, "66 blue street"));
            myStudents.Add(new Student(127, "Jane", "31/07/1975", 21, "64 green street"));
            foreach (Student s in myStudents)
            {
                txtBox_form1.Text = txtBox_form1.Text + s.ToString() + Environment.NewLine;
            }

理想情况下,我不希望在Form1中使用MDI父表单执行此操作,但在实例化为名为“管理员”的其他演示文稿表单后,似乎无法访问成员。这是主要MDI父表的孩子,不知道为什么?

以下是我的想法,或通过用户表单输入新学生详细信息时的方法调用

private void bttnSubmit_Enroll_Click(object sender, EventArgs e)
        {
//this is for another test through constructor
           // Admin _admin = new Admin(txtBox_SName.Text);
          //  _admin.ShowDialog();
          //  _admin.Show();
            Student newStudent = new Student(int.Parse(txtBox_StudentID.Text), txtBox_SName.Text, txtBox_StudentDOB.Text, int.Parse(txtBox_Age.Text), txtBox_StudentAddress.Text);

如何从用户输入创建新对象并将其添加到我的列表中是我想要弄清楚的。

非常感谢任何建议/意见。 谢谢 安德鲁

0 个答案:

没有答案