Фильтровать ListBox с TextBox в реальном времени

Я пытаюсь отфильтровать список с текстом из текстового поля в реальном времени.

Вот код:

private void SrchBox_TextChanged_1(object sender, EventArgs e)
{
  var registrationsList = registrationListBox.Items.Cast<String>().ToList();
  registrationListBox.BeginUpdate();
  registrationListBox.Items.Clear();
  foreach (string str in registrationsList)
  {
    if (str.Contains(SrchBox.Text))
    {
      registrationListBox.Items.Add(str);
    }
  }
  registrationListBox.EndUpdate();
}

Вот проблемы:

  1. Когда я запускаю программу, я получаю эту ошибку: Ссылка на объект не указывает на экземпляр объекта

  2. Если я нажму Backspace, мой первоначальный список больше не отображается. Это потому, что мой фактический список элементов теперь уменьшен, но как я могу этого добиться?

Не могли бы вы указать мне правильное направление?

6
задан LarsTech 3 April 2012 в 13:23
поделиться