ListBox.SelectedIndexCollection Класс

Определение

Представляет коллекцию, содержащую индексы для выбранных элементов в объекте ListBox.

public: ref class ListBox::SelectedIndexCollection : System::Collections::IList
public class ListBox.SelectedIndexCollection : System.Collections.IList
type ListBox.SelectedIndexCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class ListBox.SelectedIndexCollection
Implements IList
Наследование
ListBox.SelectedIndexCollection
Реализации

Примеры

В следующем примере показано, как использовать FindString метод для поиска всех экземпляров текста поиска в элементах элементах ListBox. В примере используется версия FindString метода, которая позволяет указать начальный индекс поиска, из которого выполняется непрерывный поиск всех элементов в элементе ListBox. В примере также показано, как определить, когда FindString метод начинает поиск в верхней части списка после достижения нижней части списка элементов, чтобы предотвратить рекурсивный поиск. После того как элементы будут найдены в объектеListBoxSetSelected, они выбираются с помощью метода.

private:
   void FindAllOfMyString( String^ searchString )
   {
      // Set the SelectionMode property of the ListBox to select multiple items.
      listBox1->SelectionMode = SelectionMode::MultiExtended;

      // Set our intial index variable to -1.
      int x = -1;

      // If the search string is empty exit.
      if ( searchString->Length != 0 )
      {
         // Loop through and find each item that matches the search string.
         do
         {
            // Retrieve the item based on the previous index found. Starts with -1 which searches start.
            x = listBox1->FindString( searchString, x );

            // If no item is found that matches exit.
            if ( x != -1 )
            {
               // Since the FindString loops infinitely, determine if we found first item again and exit.
               if ( listBox1->SelectedIndices->Count > 0 )
               {
                  if ( x == listBox1->SelectedIndices[ 0 ] )
                                    return;
               }

               // Select the item in the ListBox once it is found.
               listBox1->SetSelected( x, true );
            }
         }
         while ( x != -1 );
      }
   }
private void FindAllOfMyString(string searchString)
{
   // Set the SelectionMode property of the ListBox to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended;
   
   // Set our intial index variable to -1.
   int x =-1;
   // If the search string is empty exit.
   if (searchString.Length != 0)
   {
      // Loop through and find each item that matches the search string.
      do
      {
         // Retrieve the item based on the previous index found. Starts with -1 which searches start.
         x = listBox1.FindString(searchString, x);
         // If no item is found that matches exit.
         if (x != -1)
         {
            // Since the FindString loops infinitely, determine if we found first item again and exit.
            if (listBox1.SelectedIndices.Count > 0)
            {
               if(x == listBox1.SelectedIndices[0])
                  return;
            }
            // Select the item in the ListBox once it is found.
            listBox1.SetSelected(x,true);
         }
      }while(x != -1);
   }
}
Private Sub FindAllOfMyString(ByVal searchString As String)
   ' Set the SelectionMode property of the ListBox to select multiple items.
   listBox1.SelectionMode = SelectionMode.MultiExtended

   ' Set our intial index variable to -1.
   Dim x As Integer = -1
   ' If the search string is empty exit.
   If searchString.Length <> 0 Then
      ' Loop through and find each item that matches the search string.
      Do
         ' Retrieve the item based on the previous index found. Starts with -1 which searches start.
         x = listBox1.FindString(searchString, x)
         ' If no item is found that matches exit.
         If x <> -1 Then
            ' Since the FindString loops infinitely, determine if we found first item again and exit.
            If ListBox1.SelectedIndices.Count > 0 Then
               If x = ListBox1.SelectedIndices(0) Then
                  Return
               End If
            End If
            ' Select the item in the ListBox once it is found.
            ListBox1.SetSelected(x, True)
         End If
      Loop While x <> -1
   End If
End Sub

Комментарии

Класс ListBox.SelectedIndexCollection сохраняет индексы для выбранных элементов в элементе ListBox. Индексы, хранящиеся в ListBox.SelectedIndexCollection этом классе, являются позициями индекса в ListBox.ObjectCollection классе. Класс ListBox.ObjectCollection сохраняет все элементы, отображаемые в элементе ListBox.

В следующей таблице приведен пример хранения ListBox.ObjectCollection элементов ListBox элементов, а также их состояний выбора в примере ListBox.

Index Элемент Состояние выделения в ListBox
0 object1 Не выбрано
1 object2 выбрано
2 object3 Не выбрано
3 object4 выбрано
4 object5 выбрано

ListBox.ObjectCollection На основе примера в предыдущей таблице показано, как будет отображаться следующая ListBox.SelectedIndexCollection таблица.

Index Индекс выбранного элемента в ObjectCollection
0 1
1 3
2 4

Свойства и методы этого класса можно использовать для выполнения различных задач с коллекцией. Метод Contains позволяет определить, является ли позиция индекса из ListBox.ObjectCollection класса членом выбранных индексов, хранящихся в объекте ListBox.SelectedIndexCollection. После того как вы знаете, что элемент находится в коллекции, можно использовать IndexOf метод, чтобы определить, где хранится определенная позиция индекса в ListBox.ObjectCollection пределах коллекции ListBox .

Конструкторы

Имя Описание
ListBox.SelectedIndexCollection(ListBox)

Инициализирует новый экземпляр класса ListBox.SelectedIndexCollection.

Свойства

Имя Описание
Count

Возвращает число элементов в коллекции.

IsReadOnly

Возвращает значение, указывающее, доступна ли коллекция только для чтения.

Item[Int32]

Возвращает значение индекса по указанному индексу в этой коллекции.

Методы

Имя Описание
Add(Int32)

ListBox Добавляет значение по указанному расположению индекса.

Clear()

Удаляет все элементы управления из коллекции.

Contains(Int32)

Определяет, находится ли указанный индекс в коллекции.

CopyTo(Array, Int32)

Копирует всю коллекцию в существующий массив в указанном расположении в массиве.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEnumerator()

Возвращает перечислитель, используемый для итерации по выбранной коллекции индексов.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IndexOf(Int32)

Возвращает индекс в ListBox.SelectedIndexCollection пределах указанного индекса из ListBox.ObjectCollection индекса ListBox.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
Remove(Int32)

Удаляет указанный элемент управления из коллекции.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
ICollection.IsSynchronized

Описание этого элемента см. в разделе IsSynchronized.

ICollection.SyncRoot

Описание этого элемента см. в разделе SyncRoot.

IList.Add(Object)

Описание этого элемента см. в разделе Add(Object).

IList.Clear()

Описание этого элемента см. в разделе Clear().

IList.Contains(Object)

Описание этого элемента см. в разделе Contains(Object).

IList.IndexOf(Object)

Описание этого элемента см. в разделе IndexOf(Object).

IList.Insert(Int32, Object)

Описание этого элемента см. в разделе Insert(Int32, Object).

IList.IsFixedSize

Описание этого элемента см. в разделе IsFixedSize.

IList.Item[Int32]

Описание этого элемента см. в разделе Item[Int32].

IList.Remove(Object)

Описание этого элемента см. в разделе Remove(Object).

IList.RemoveAt(Int32)

Описание этого элемента см. в разделе RemoveAt(Int32).

Методы расширения

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

Приведение элементов IEnumerable к указанному типу.

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

Применяется к