列表输入并以另一种形式显示?

时间:2014-02-04 16:29:22

标签: c#

我有一个列表,并且我选择了一个项目,其中包含3个条目(姓名,电子邮件和电话号码)我想要将这些条目显示在另一个具有三个文本框的表单中。如何获取所选项目并让它在另一个表单上显示该内容。

public partial class EmailAddressBook : Form
{
    public EmailAddressBook()
    {
        InitializeComponent();
    }

    private void btnExit_Click(object sender, EventArgs e)
    {
        //Closes the application 

        Application.Exit();


    }

    public List<EmailInfo> emailList = new List<EmailInfo>();

    private void btnAdd_Click(object sender, EventArgs e)
    {
        //Activates AddNewNames form for use 
        frmAddNewName frmNames = new frmAddNewName();
        //Shows the AddNewNames Form
        frmNames.ShowDialog();
        //Adds to the list
        lstNames.Items.Add(frmNames.objEmail.Name);

    }

    private void btnRemove_Click(object sender, EventArgs e)
    {
        //clears selected iteam from the listbox.

        if (this.lstNames.SelectedIndex >= 0)
            this.lstNames.Items.RemoveAt(this.lstNames.SelectedIndex);
        else MessageBox.Show("Please select name to delete.", "Selection Error");


    }

    private void btnView_Click(object sender, EventArgs e)
    {
        //Displays the contact information



    }

2 个答案:

答案 0 :(得分:2)

您应该使用frmAddNewName,并添加一个属性来保存列表

public List<InsertTypeHere> MyList{get; set;}

然后在声明表单时,只需填充该属性

    frmAddNewName frmNames = new frmAddNewName();
    frmNames.MyList = myList;
    //Shows the AddNewNames Form
    frmNames.ShowDialog();

或者,您可以将其传递给构造函数(您必须修改构造函数。)

    frmAddNewName frmNames = new frmAddNewName(myList);
    //Shows the AddNewNames Form
    frmNames.ShowDialog();

答案 1 :(得分:-1)

静态变量将是可行的选项。