[英]How to populate list object from 2nd form
我需要添加一个已从表单创建的对象,以使用该对象已经设置好的对象填充列表框,而其他所有方法都可以正常工作,但是我进行了大量研究,无法弄清楚为什么我的列表框不会填充。
我尝试进行研究以找到如何将数据和对象传输到第二种形式。 我已经尝试过Items.Add(TheObject)。 和获取/设置。
public partial class AddForm : Form
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmpType { get; set; }
public string Salary { get; set; }
public AddForm()
{
InitializeComponent();
}
private void AddForm_Load(object sender, EventArgs e)
{
txtfirstName.Text = FirstName;
txtLastName.Text = LastName;
cbempType.Text = EmpType;
txtSalary.Text = Salary;
}
private void AddBtn_Click(object sender, EventArgs e)
{
if (FirstName!="" || LastName!="" || EmpType!=""|| Salary!="")
{
txtfirstName.Text = FirstName;
txtLastName.Text = LastName;
cbempType.Text = EmpType;
txtSalary.Text = Salary;
Person person = new Person(FirstName, LastName, EmpType, Salary);
listPerson.Items.Add(person);
}
}
预期的结果看起来像返回
名:John名:Doe雇员类型:薪金薪金:$ 1000000
相反,我什么也没得到
也可以在我的主窗体上工作,我只是不知道如何将该对象发送到主窗体到列表框
您需要在AddForm属性中将Person对象声明为公共对象,就像声明FirstName,LastName等一样。
在AddBtn_Click之后,创建该对象,然后关闭AddForm窗口并将对话框结果设置为OK。
在您的主窗体中,使用AddForm.ShowDialog()显示AddForm对话框,并等待DialogResult.OK,然后访问从AddForm创建的Person对象。
关于不显示列表框,您是否在Person类中实现了.ToString()?
以这种方式显示Person对象“名字:John姓氏:Doe雇员类型:Salary工资:$ 1000000”,如@Bonny所说,您必须实现.ToString()。 在您的方案中ToString()的实现以这种方式发生。 在您的人员类中添加此功能
public override string ToString()
{
return "First Name:"+ name + " " + "Last Name:" + LastName+ " " + "Employee type:" + EmpType + "Salary:" + Salary ;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.