我只是得到了这个,但我没有做正确的事情。我试图将值从form1传递给form2。在form2上,我设置了一个属性,允许访问其中一个文本框。在form1上,我设置为打开form2的实例并将值从列表框中的对象传递给form2的文本框。看起来我的设置几乎是正确的,因为我通过在messagebox.show中发布对象值来测试它,它显示了我计划的不同对象值。出于某种原因,虽然当我实际运行时,form2将打开,但它不会设置我传递给表单中文本框的值,它只是一个空白表单。我没有错误,但我认为它与未直接传递给我的form2新实例的数据有关。我希望我解释得很好。任何帮助表示赞赏。
表单1
private void propertiesToolStripMenuItem_Click(object sender, EventArgs e)
{
frmProperties editProperties = new frmProperties();
editProperties.ShowDialog();
Employee person = (Employee)lstBoxEmployees.Items[lstBoxEmployees.SelectedIndex];
editProperties.TextFirstName = person.EmployeeFirstName;
}
表单2
public string TextFirstName
{
get { return txtFirstName.Text; }
set { txtFirstName.Text = value; }
}
答案 0 :(得分:0)
private void propertiesToolStripMenuItem_Click(object sender, EventArgs e)
{
frmProperties editProperties = new frmProperties();
editProperties.ShowDialog();
Employee person = new Employee ();
person.EmployeeFirstName = lstBoxEmployees.Items[lstBoxEmployees.SelectedIndex];
editProperties.TextFirstName = person.EmployeeFirstName;
}
答案 1 :(得分:0)
您必须在显示对话框之前设置文本框。
private void propertiesToolStripMenuItem_Click(object sender, EventArgs e)
{
frmProperties editProperties = new frmProperties();
Employee person = (Employee)lstBoxEmployees.Items[lstBoxEmployees.SelectedIndex];
editProperties.TextFirstName = person.EmployeeFirstName;
editProperties.ShowDialog();
}