Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> listBox неправильное удаление элемента 
:(
    Опции темы
N1kk
Дата 7.11.2011, 06:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.11.2011

Репутация: нет
Всего: нет



Вобщем вопрос тупость великая... Помогите решить проблему.
Есть скажем коллекция элементов в listBox1. Необходимо оставить список только со встречающимся словом указанным в textBox1.

Код

if (textBox1.Text.Length != 0)
{
  listBox1.BeginUpdate();
  for (int i = 0; i < listBox1.Items.Count; i++)
    if (listBox1.Items[i].ToString().Contains(textBox1.Text) != true) listBox1.Items.RemoveAt(i);
  listBox1.EndUpdate();
}


Почему то удаляет каждый второй элемент. C IndexOf тоже самое самое  smile 
PM MAIL   Вверх
RastaDja
Дата 7.11.2011, 08:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 1.11.2010

Репутация: нет
Всего: 5



Код

using System.ComponentModel;

//...
public MainWindow()
{
//...
   List<String> StrList = new List<String>();
   StrList.Add("str1");
   StrList.Add("str2");
   StrList.Add("strABC");
   StrList.Add("ABCstr");
   StrList.Add("strABCstr");
   ICollectionView cvStr = CollectionViewSource.GetDefaultView(StrList);
   cvStr.Filter = Filter2;
   listBox1.ItemsSource = cvStr;
}

public bool Filter2(object de)
{
   String order = de as String;
   if (order.Contains("ABC"))      //  содержит подстроку
   {
      return true;
   }
   else
   {
      return false;
   }
}
//...


Это сообщение отредактировал(а) RastaDja - 7.11.2011, 08:40


--------------------
The more closely you look at one thing, the less closely can you see something else.
PM MAIL   Вверх
Voyager
Дата 7.11.2011, 10:43 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 532
Регистрация: 8.2.2005

Репутация: 3
Всего: 18



Так если вы удаляете, счетчик i сбрасывайте i--.
PM   Вверх
N1kk
Дата 7.11.2011, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.11.2011

Репутация: нет
Всего: нет



Voyager
Спасибо, решил проблему.  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.