繁体   English   中英

从列表视图的选定项目中将项目添加到列表框中C#

[英]Add items to listbox from listview's selected items c#

我正在尝试从WinForms2的listview的选定项目中添加WinForm1上的列表框中的项目,但这些项目没有添加到列表框中。

下面是我正在使用的代码

WinForm1:

    public void setsrc( ListViewItem src )
    {
        Listbox1.Items.Add(src.Text);
    }

Winform2:

    WinForm1 fMain = new WinForm1();
    private void AddItemsButton_Click(object sender, EventArgs e)
    {

        foreach (ListViewItem src in listView1.CheckedItems)
        {
            fMain.setsrc(src);
        }
    }

我也在form2中尝试了以下代码

    WinForm1 fMain = new WinForm1();
    private void AddItemsButton_Click(object sender, EventArgs e)
    {

        foreach (ListViewItem src in listView1.CheckedItems)
        {
            fMain.Listbox1.Items.Add(src.Text); //The modifier is set to internal of Listbox1
        }
    }

我试图通过应用断点进行检查。 奇怪的是,这两个条件中都传入了值,但未在listbox1中列出。 就像Form1的控件没有更新一样。

请帮我。

问题是您在Form2中声明了WinForm的新实例。 当然,您不会看到任何东西。 创建Form2对象时,需要创建对WinForm1的引用。

一种方法是通过构造函数

class Form2
{
    private WinForm1 form;
    public Form2(WinForm1 form)
    {
       this.form = form;
    }
}

然后,当您创建Form2时,在WinForm1某个位置。

Form2 form = new Form2(this);
form.Show();

并且,请为您的对象使用有意义的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM