none
如何在listbox顯示combobox的選擇 RRS feed

  • 問題

  • public partial class Form1 : Form
        {
            List<string> list A餐廳= new List<string>();

        }

    private void Form1_Load(object sender, EventArgs e)
            {       

                foreach (string item in listA餐廳品項)
                {
                    lbox菜單品項.Items.Add(item);
                }  

                listA餐廳品項.Add("A");
                listA餐廳品項.Add("B");
                listA餐廳品項.Add("C");

              }

    此外還有餐廳B,C,...

    餐廳B品項,餐廳C品項,...

    想請教在combobox選擇A餐廳時,讓listbox顯示A餐廳的品項

    選擇B餐廳時顯示B餐廳的品項

    麻煩各位前輩指導

    2021年4月5日 上午 03:06

所有回覆

  • 類似這樣做就可以了 (用 DataSource 繫結比用 Items.Add 程式碼來得簡單很多)

        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                comboBox1.SelectedValueChanged += ComboBox1_SelectedValueChanged;
                comboBox1.DataSource = CreateRestaurants();
                comboBox1.DisplayMember = "Name";          
                
            }
    
            private void ComboBox1_SelectedValueChanged(object sender, EventArgs e)
            {
                listBox1.DataSource = ((Restaurant)comboBox1.SelectedValue).Menu ;
            }
    
            private List<Restaurant> CreateRestaurants ()
            {
                return new List<Restaurant>
                {
                    new Restaurant { Name = "餐廳1" , Menu = new List<string> {"A1", "A2", "A3"}},
                    new Restaurant { Name = "餐廳2" , Menu = new List<string> {"B1", "B2", "B3"}},
                };
            }
        }
    
    
        public class Restaurant
        {
            public string Name { get; set; }
    
            public List<string> Menu { get; set; }
        }


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/


    2021年4月5日 上午 11:08
    版主
  • 謝謝你的範例,有幫助到我
    2021年4月11日 上午 07:22