#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
событии.