如何通过使用按钮将列表添加到其他表单上的列表框中

时间:2019-07-16 22:30:52

标签: c# forms list listbox

我正在尝试通过使用按钮和for循环以不同的形式添加到列表框,但是它说“衣服”不包含列表框的定义,我将列表框设置为public,因为那是我在网上找到了,但还没有解决问题。就像我无法识别它一样,即使我输入Clothes dot并且在下拉菜单上也没有。我也尝试过F.CustomersList,但这也行不通。

private  void LoadCity_Click(object sender, EventArgs e)       
{        
    Form F = new Clothes();

    if (F.ShowDialog() == DialogResult.OK)
    {
        for (int i = 0; i < _Mexico.Count; i++)
        {
            Clothes.CustomersList.Items.Add(_Mexico.ElementAt(i));
        }
    }             
}

2 个答案:

答案 0 :(得分:0)

为此,您必须在Click_Event中创建一个列表,并将其设置为另一个表单的CustomersList属性。

private Form custForm;

private void LoadCity_Click(object sender, EventArgs e)   
{
    if(custForm == null)
    {
        custform = new Clothes(); //Clothes should be a Form
    }
    List cust = new List();
    for(int i = 0; i < _Mexico.Count; i++)
    {
        cust.add(_Mexico.ElementAt(i);
    }
    custform.CustomersList = cust;
}

该属性应如下所示:

private List _CustomersList;
public List CustomersList
{
    get
    {
         return _CustomersList;
    }
    set
    {
        _CustomersList = value;
        //then do your stuff here
    }
}

答案 1 :(得分:0)

除了在用列表关闭表单后将所有内容放入列表之外,还必须从

更改表单的初始化
Form F = new Clothes()

Clothes F = new Clothes()

因为System.Windows.Forms.Form不包含您的公共列表。然后,您可以通过

访问列表框
F.CustomersList.Items.Add(_Mexico.ElementAt(i))

只是看到Rufus在他的评论中已经提到过,也许您不得不考虑一下您的设计。