【问题标题】:load the data from the listview which is in form1 to textboxes which is in form2 C#将表单1中的列表视图中的数据加载到表单2中的文本框C#
【发布时间】:2013-03-02 11:51:25
【问题描述】:

说form1中的列表视图具有以下列名称和电子邮件以及以下数据,例如

NAME     EMAIL
adam     adam@gmail.com
james    james@gmail.com
kris     kris@gmail.com

此列表视图在 form1 中。

listview 有一个带有更新项的上下文菜单,比如说我从 form1 中选择 james 行,右键单击并选择更新,现在 form2 将被加载,其中有两个文本框,我希望列表视图中选定行的名称和电子邮件出现在该文本框中喜欢

textbox1 = james
textbox2 = james@gmail.com

我实际上在做什么。

在带有项目更新的 form1 ive 上下文菜单上。单击 updatecontextmenu 会加载带有文本框名称和电子邮件的 form2。 listview 包含姓名和电子邮件,如上所示。我想将列表视图中 form1 中选定行的名称分别命名为文本框和电子邮件。

我试过了。

表格1:

updateToolStripMenuItem_Click(...)
{

    Form3 update = new Form3();
    update.ShowDialog();            
}

form3:

Form3_Load(...)
{
    Form1 f1 = new Form1();
    string oldName = f1.listView1.SelectedItems[0].SubItems[0].Text;
    string oldEmail = f1.listView1.SelectedItems[0].SubItems[0].Text;
    textBox1.Text = oldName.ToString();
    textBox2.Text = oldEmail.ToString();
}

但出现错误 InvalidArgument=Value of '0' is not valid for 'index'

【问题讨论】:

    标签: c# .net winforms listview windows-forms-designer


    【解决方案1】:

    您可以将第二种形式的构造函数更改为:

    public Form2(string name, string email)
    { ... }
    

    然后在 Form1 中:

    Form2 update = new Form2(name, email);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-05
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      相关资源
      最近更新 更多