【问题标题】:How can I pass a listview from one form to another form?如何将列表视图从一个表单传递到另一个表单?
【发布时间】:2012-03-07 19:23:13
【问题描述】:

我有 2 个表格。表格 1 和表格 2。 form1 上有一个按钮供我访问 form2,在 form2 中,我有一个 listview2 和一些文本框。我设法将项目输入listview2。然后,当我单击 form2 中的 OK 按钮时,form1 中的 listview1 应该与 listview2 完全一样。所以伙计们,谁能建议我这样做的方法?谢谢

以下是我的代码。我希望我不会让大家感到困惑。

Form1 代码 =>

namespace MainServerPage

{ 公共部分类 MainServerPage : 表单 { 公共 ListView LV;
公共 MainServerPage() { 初始化组件(); }

    private void btnAdd_Click(object sender, EventArgs e)
    {
        AddItem Add = new AddItem(this);                //to open form2
        Add.ShowDialog();
    }

}

}

Form2 代码 =>

namespace MainServerPage

{ 公共部分类 AddItem :表单 { MainServerPage 当前表单; //我学习了这种将表单传递给另一个的方式,但它不起作用 public AddItem(MainServerPage 传入表单) { 当前形式=传入形式; 初始化组件(); }

    private void btnUpdate_Click(object sender, EventArgs e)
    {
        ListViewItem item = new ListViewItem(txtCode.Text);
        item.SubItems.Add(txtLocation.Text);
        item.SubItems.Add(cbxStatus.Text);
        item.SubItems.Add(txtWeatherHigh.ToString());
        item.SubItems.Add(txtWeatherLow.ToString());           

        listView2.Items.Add(item);      //send to listView2

        txtCode.Text = "";
        txtLocation.Text = "";
        cbxStatus.Text = "";
        txtWeatherHigh.Text = "";
        txtWeatherLow.Text = "";
        cbxZone.Text = "";                     

    }

    private void btnOk_Click(object sender, EventArgs e)
    {
         currentform.LV = load;    //I got stuck here...do not know what to do
    }
}

}

【问题讨论】:

    标签: forms listview


    【解决方案1】:

    一般来说,你要传递的不是列表视图,而是列表视图所代表的数据。您可能应该重新考虑您的设计,以便 btnUpdate_Click 函数构建一个数据对象,而不是直接构建一个 ListViewItem。然后您可以将数据对象传递回您的第一个表单。

    【讨论】:

      猜你喜欢
      • 2017-06-12
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多