C# - 以其他形式填充列表视图 - VS2015

本文关键字:列表 视图 VS2015 填充 其他 | 更新日期: 2023-09-27 18:32:39

我有2种形式。窗体 1,显示列表视图,窗体 2 显示一个名为 button1 的按钮。我正在尝试做的是单击表单 2 上的按钮。我希望它填写表单 1 上的列表视图。

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

按下按钮 1 时,它应该在 form1 的列表视图中显示香草 1,£1.00

如果列表视图与按钮位于同一窗体上,我可以执行此操作,但如果它位于不同的窗体上,则不能执行此操作。

表格1

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

C# - 以其他形式填充列表视图 - VS2015

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

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