Программное выделение записей в ListBox - C#
Формулировка задачи:
Имеется форма для ввода и редактирования документов.
Поле textBox1 заполняется через запятую выделенными записями из listBox1.
Панель, с этим ListBox делается видимой после textBox1_GotFocus. Причем если поле textBox1 заполнено, то соответствующие записи в listBox1 должны стать выделенными. (выделяется только первая запись из textBox1).
После события выбора панель снова делается невидимой и записи listBox1 становятся не выделенными.
GotFocus циклит, может требуется какое-то статичное событие?
Подскажите что можно использовать?
private void textBox1_GotFocus(object sender, System.EventArgs e) //получение фокуса
{
this.panel1.Visible = true;
string[] arr2 = textBox1.Text.ToString().Split(',');
foreach (string arr in arr2)
for (int i = 0; i < listBox1.Items.Count; i++)
if (listBox1.Items[i].ToString() == arr) listBox1.SetSelected(i, true);
}//кнопка "Выбрать"
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text = "";
for (int i = 0; i < this.listBox1.SelectedItems.Count; i++)
{
if (i != this.listBox1.SelectedItems.Count - 1)
this.textBox1.Text += this.listBox1.SelectedItems[i].ToString() + ", ";
else this.textBox1.Text += this.listBox1.SelectedItems[i].ToString();
}
for (int j = 0; j < this.listBox1.Items.Count; j++)
{
listBox1.SetSelected(j, false);
}
this.panel1.Visible = false;
this.textBox5.Select();
}Решение задачи: «Программное выделение записей в ListBox»
textual
Листинг программы
if (listBox1.Items[i].ToString().Trim() == arr.Trim())