C# 如何通过类内方法添加到listbox?

C# 如何通过类内方法添加到listbox?,c#,winforms,list,oop,listbox,C#,Winforms,List,Oop,Listbox,我在store类中的addproductto方法中有一个product类和一个store类。需要将它们分别添加到listbox1和listbox2中。为什么我的代码不起作用 表格1: static public List<Product> plist = new List<Product>(); static public List<Store> slist = new List<Store>(); slist.Ad

我在store类中的addproductto方法中有一个product类和一个store类。需要将它们分别添加到listbox1和listbox2中。为什么我的代码不起作用

表格1:

     static public List<Product> plist = new List<Product>();
     static public List<Store> slist = new List<Store>();

     slist.Add(new Store { Name = "Bargin Basin" });
        slist.Add(new Store { Name = "SuperMart" });

        plist.Add(new Product { Label = "Potatoes", Price = 3.60 });
        plist.Add(new Product { Label = "Fish", Price = 4.49 });

        private void AddButton_Click(object sender, EventArgs e)
            {

            string curItem = comboBox1.SelectedItem.ToString();

            // Create New Product
            if (curItem == "Product")
            {
                FormP AP = new FormP();
                if (AP.ShowDialog() == DialogResult.OK)
                {
                    string _label = AP.textBox1.Text; double _price = Convert.ToDouble(AP.textBox2.Text);
                    var newproduct = new Product { Label = _label, Price = _price };                                                       
                    Store store = slist.Find(y => y == AP.comboBox1.SelectedItem);
                   // Store store = AP.comboBox1.SelectedItem as Store;                                    
                    AddProductsToStore(store, newproduct);
                    listBox2.EndUpdate();

                }
            }

  public static void AddProductsToStore(Store store, Product product)
        {
               store.AddProduct(product);
               MessageBox.Show(String.Format("Product {0} added to store {1}", product.Label, store.Name));      
        }
课程:

   public class Store
    {
        //public virtual int Id { get; protected set; }
        public virtual string Name { get; set; }
        public virtual IList<Product> Products { get; set; }
        public virtual IList<Rab> Rabs { get; set; }

        public Store()
        {
            Products = new List<Product>();
            Rabs = new List<Rab>();
        }

        public virtual void AddProduct(Product product)
        {
            product.StoresStockedIn.Add(this);
            Products.Add(product);   
        }
}
   public class Product
    {
       // public virtual int Id { get; protected set; }
        public virtual string Label { get; set; }
        public virtual double Price { get; set; }
        public virtual Location Location { get; set; }
        public virtual IList<Store> StoresStockedIn { get; set; }

        public Product()
        {
            StoresStockedIn = new List<Store>();
        }
    }

没有发生任何事情,代码继续工作,但列表框中没有任何更改,只显示问题代码中的程序创建项

您在哪里向任何列表框添加任何内容??@Rotem listBox1DataSource=slist listBox2DataSource=plist@Rotem如何通过类内方法开始与plist的对话?AddProductsToStorestore,newproduct;请发布实际将项目添加到列表中的代码。这就是你需要帮助的,对吗?另外,我看到了对.EndUpdate的调用,但没有对.BeginUpdate的调用。