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 метод начинает поиск в верхней части списка после того, как он достигнет нижней части списка элементов, чтобы предотвратить рекурсивный поиск. После того как элементы будут найдены в ListBox, они выбираются с помощью SetSelected метода .
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.
Индекс | Элемент | Состояние выделения в элементе ListBox |
---|---|---|
0 | object1 | Unselected |
1 | object2 | Выбрано |
2 | object3 | Unselected |
3 | object4 | Выбрано |
4 | object5 | Выбрано |
ListBox.ObjectCollection На основе примера из предыдущей таблицы в следующей таблице показано, как ListBox.SelectedIndexCollection будет выглядеть .
Индекс | Индекс выбранного элемента в 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). |
Методы расширения
Cast<TResult>(IEnumerable) |
Приводит элементы объекта IEnumerable к заданному типу. |
OfType<TResult>(IEnumerable) |
Выполняет фильтрацию элементов объекта IEnumerable по заданному типу. |
AsParallel(IEnumerable) |
Позволяет осуществлять параллельный запрос. |
AsQueryable(IEnumerable) |
Преобразовывает коллекцию IEnumerable в объект IQueryable. |