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 на основе указанного типа. |