Список box1_selectedindexchanged не запускается

#c# #listbox

#c# #список

Вопрос:

Я впервые пытаюсь создать приложение Windows forms. У меня есть два списка. Первый заполняется из .txt-файла при запуске программы:

  public Form1()
        {
                InitializeComponent();
                string[] lines = File.ReadAllLines("C:\Users\Mitarbeiter.txt");
                ListBox listBoxMitarbeiter = new ListBox();                           
                listBoxMitarbeiter.Size = new System.Drawing.Size(200, 350);
                listBoxMitarbeiter.Location = new System.Drawing.Point(30, 100);
                this.Controls.Add(listBoxMitarbeiter);
                listBoxMitarbeiter.SelectionMode = SelectionMode.MultiExtended;
                listBoxMitarbeiter.BeginUpdate();
                int c = 0;
                foreach (string line in lines)
                {
                    listBoxMitarbeiter.Items.Insert(c, line);
                    c  ;
                }
                listBoxMitarbeiter.EndUpdate();
         }
  

Теперь я хочу, чтобы второе поле списка создавалось и заполнялось при выборе элемента / индекса в первом:

 private void listBoxMitarbeiter_SelectedIndexChanged(object sender, System.EventArgs e)
        {               
                ListBox listBox2 = new ListBox();
                listBox2.Size = new System.Drawing.Size(200, 350);
                listBox2.Location = new System.Drawing.Point(200, 100);
                this.Controls.Add(listBox2);
                listBox2.SelectionMode = SelectionMode.MultiExtended;
                listBox2.BeginUpdate();
                listBox2.Items.Insert(2,"it works");               
                listBox2.EndUpdate();
        }
  

Я читал, что вы должны каким-то образом связать событие со списком. Как?
Или это что-то совсем другое.
Пожалуйста, помогите.

Комментарии:

1. В чем, по-видимому, проблема?

2. Я не знаю. Все, что я знаю, это то, что событие не активируется, когда я выбираю элемент из первого списка

3. и где вы подписались на событие? … это не сработает, если вы назовете только метод listBoxMitarbeiter_SelectedIndexChanged … google: «подписаться на событие C #» и bam .. первая ссылка на официальную документацию…

Ответ №1:

Вам нужно добавить обработчик событий в список:

 listBoxMitarbeiter.SelectedIndexChanged  =
    new EventHandler(listBoxMitarbeiter_SelectedIndexChanged);
  

Таким образом, listBoxMitarbeiter_SelectedIndexChanged() метод будет вызываться при каждом SelectedIndexChanged событии.