ListBox.SelectedIndices Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает коллекцию, содержащую индексы всех выделенных в настоящий момент позиций в элементе управления ListBox (индексы, начинающиеся с нуля).
public:
property System::Windows::Forms::ListBox::SelectedIndexCollection ^ SelectedIndices { System::Windows::Forms::ListBox::SelectedIndexCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.ListBox.SelectedIndexCollection SelectedIndices { get; }
[<System.ComponentModel.Browsable(false)>]
member this.SelectedIndices : System.Windows.Forms.ListBox.SelectedIndexCollection
Public ReadOnly Property SelectedIndices As ListBox.SelectedIndexCollection
Значение свойства
ListBox.SelectedIndexCollection, содержащее индексы выделенных в настоящий момент позиций в элементе управления. Если в данный момент ничего не выбрано, возвращается пустая коллекция 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это свойство возвращает коллекцию, содержащую индексы для всех элементов, выбранных в списке ListBox. Для одноэлементного выбора ListBoxэто свойство возвращает коллекцию, содержащую один элемент, содержащий индекс единственного выбранного элемента в .ListBox Дополнительные сведения о том, как управлять элементами коллекции, см. в разделе ListBox.SelectedIndexCollection.
Класс ListBox предоставляет несколько способов ссылки на выбранные элементы. Вместо использования SelectedIndices свойства для получения позиции индекса выбранного элемента в одном выделении ListBoxможно использовать SelectedIndex это свойство. Если вы хотите получить элемент, выбранный в данный момент в ListBoxэлементе , а не позицию индекса элемента, используйте SelectedItem свойство. Кроме того, можно использовать SelectedItems свойство, если вы хотите получить все выбранные элементы в множественном выборе ListBox.