C# - 以不同的形式填写Listview - VS2015

时间:2016-01-29 19:25:22

标签: c# windows forms listview

我有2个表格。表单1显示ListView,表单2表示一个名为button1的按钮。 我想要做的是点击表格2上的按钮。我希望它填写form1上的Listview。

列表视图有3列; 味道 数量 子总计

当按下button1时,它应该在form1的列表视图中显示 Vanilla,1,£1.00

如果列表视图与按钮位于同一表单上,我可以这样做,但如果它位于不同的表单上则不行。

Form1中

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

窗体2

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

private void button1_Click(object sender, EventArgs e)
    {
        ListViewItem lvi = new ListViewItem("Vanilla");
        lvi.SubItems.Add("1");
        lvi.SubItems.Add("£1.00");
        listView1.Items.Add(lvi);
    }

1 个答案:

答案 0 :(得分:1)

form1中创建form2的引用,如下所示:

class Program {
    static void Main() { 
        var form1 = new Form1();
        var form2 = new Form2(form1);
    }
}

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

    public void DoStuff(ListViewItem lvi) {
        // TODO: Stuff
    }
}

public partial class Form2: Form
{
    private Form1 _form1;

    public form2(Form1 form1)
    {
        InitializeComponent();
        _form1 = form1;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        ListViewItem lvi = new ListViewItem("Vanilla");
        lvi.SubItems.Add("1");
        lvi.SubItems.Add("£1.00");
        listView1.Items.Add(lvi);

        _form1.DoStuff(lvi);
    }
}