Как мне сделать так, чтобы выбранный элемент списка имел собственный раскрывающийся список? - PullRequest
0 голосов
/ 19 июня 2020

Официальная инструкция гласит:

«Форма будет содержать три элемента управления в виде списка или поля со списком, которые не позволяют пользователю вводить элементы во время выполнения. Первый список будет содержать имена пакетов. доступны для детализации автомобиля: Standard, Deluxe, Executive или Luxury. Содержание двух других списков будет зависеть от выбранного пакета. Отображение одного списка для внутренних работ и одного списка для внешних работ. Сохраните описания элементы в строковых константах. Вы должны очищать списки для внутреннего и внешнего вида для каждого заказа и добавлять новые элементы в списки каждый раз, когда пользователь делает выбор из списка пакетов. Используйте раскрывающийся список, чтобы позволить пользователю выбрать на выбор: «Гавайский туман», «Детская присыпка», «Сосна», «Цветочная кантри», «Пина-колада» и «Ваниль». "

Насколько я понимаю, после того, как пользователь щелкнет элемент" Аромат "в списке интерьеров, появится раскрывающийся список Список должен появиться, чтобы выбрать аромат. Я правильно это понимаю? Является ли это возможным? Я думаю, мне нужно изменить выбранный индекс списка, но оттуда я понятия не имею, как «создать» новый комбинированный список для этого одного элемента списка. Это весь код, который у меня есть на данный момент:

        string[] fragrances = new string[6] {"Hawaiian Mist", "Baby Powder", "Pine", "Country Floral", "Pina Colada", "Vanilla" };
        const string handwash = "Hand Wash"; const string handwax = "Hand Wax"; const string fluid = "Check Engine Fluids"; const string compartment = "Detail Engine Compartment"; const string undercarriage = "Detail Undercarriage";
        const string fragrance = "Fragrance"; const string carpet = "Shampoo Carpets"; const string upholstery = "Shampoo Upholstery"; const string protecc = "Interior Protection Coat"; const string scotchguard = "ScotchGard";
        string[] luxext = new string[5] { handwash, handwax, fluid, compartment, undercarriage };
        string[] deluxext = new string[2] { handwash, handwax };
        string[] execext = new string[3] { handwash, handwax, fluid};
        string[] stdext = new string[1] { handwash };
        string[] luxint = new string[4] { fragrance, carpet, upholstery, scotchguard };
        string[] execint = new string[3] { fragrance, carpet, scotchguard };
        string[] deluxint = new string[2] { fragrance, carpet };
        string[] stdint = new string[1] { fragrance };
        private void CarWashForm_Load(object sender, EventArgs e)
        {
            cbxPackage.Items.AddRange(packages);
        }

        private void cbxPackage_SelectedIndexChanged(object sender, EventArgs e)
        {
            if(cbxPackage.SelectedItem.ToString() == "Standard")
            {
                Populatelistbox(lstbxExterior, lstbxInterior, stdext, stdint);
            }
            else if(cbxPackage.SelectedItem.ToString() == "Deluxe")
            {
                Populatelistbox(lstbxExterior, lstbxInterior, deluxext, deluxint);
            }
            else if (cbxPackage.SelectedItem.ToString() == "Executive")
            {
                Populatelistbox(lstbxExterior, lstbxInterior, execext, execint);
            }
            else if (cbxPackage.SelectedItem.ToString() == "Luxury")
            {
                Populatelistbox(lstbxExterior, lstbxInterior, luxext, luxint);
            }
        }

        private void lstbxInterior_SelectedIndexChanged(object sender, EventArgs e)
        {
            if(lstbxInterior.SelectedItem.ToString() == "Fragrances")
            {

            }
        }

        public void Populatelistbox(ListBox listbox, ListBox listbox2, string[] array, string[] array2)
        {
            listbox.Items.Clear();
            listbox2.Items.Clear();
            listbox.Items.AddRange(array);
            listbox2.Items.AddRange(array2);
        }
...