将一个类的值从form1的列表框传递到form2的文本框

本文关键字:列表 文本 form2 form1 一个 | 更新日期: 2023-09-27 18:01:30

我刚刚得到这个,但我没有做正确的事情。我试图传递一个值从form1到form2。在form2上,我有一个属性设置允许访问它的文本框之一。在form1上,我已经将其设置为打开form2的实例,并将列表框中的对象的值传递给form2的文本框。看起来我已经把事情设置得差不多了,因为我通过在消息框中发布对象值来测试它。它显示了不同的对象值,正如我计划的那样。出于某种原因,虽然当我实际运行它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; }
}

将一个类的值从form1的列表框传递到form2的文本框

您必须在显示对话框之前设置文本框。

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();    
}
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;
}