ListBox.FindString Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Znajduje pierwszy element w elemencie rozpoczynającym ListBox się od określonego ciągu.
Przeciążenia
FindString(String) |
Znajduje pierwszy element w elemencie rozpoczynającym ListBox się od określonego ciągu. |
FindString(String, Int32) |
Znajduje pierwszy element w elemencie rozpoczynającym ListBox się od określonego ciągu. Wyszukiwanie rozpoczyna się od określonego indeksu początkowego. |
FindString(String)
Znajduje pierwszy element w elemencie rozpoczynającym ListBox się od określonego ciągu.
public:
int FindString(System::String ^ s);
public int FindString (string s);
member this.FindString : string -> int
Public Function FindString (s As String) As Integer
Parametry
- s
- String
Tekst do wyszukania.
Zwraca
Indeks oparty na zerach pierwszego znalezionego elementu; zwraca wartość ListBox.NoMatches
, jeśli nie znaleziono dopasowania.
Wyjątki
Wartość parametru s
jest mniejsza niż -1 lub większa lub równa liczbie elementów.
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą FindString metody wyszukać pierwsze wystąpienie ciągu w obiekcie ListBox. Jeśli nie znaleziono elementów pasujących do ciągu FindString wyszukiwania, zwraca wartość -1, a w przykładzie zostanie wyświetlona wartość MessageBox. Jeśli element zostanie znaleziony zgodny z tekstem wyszukiwania, w przykładzie użyto SetSelected metody , aby wybrać element w elemencie ListBox.
private:
void FindMyString( String^ searchString )
{
// Ensure we have a proper string to search for.
if ( searchString != String::Empty )
{
// Find the item in the list and store the index to the item.
int index = listBox1->FindString( searchString );
// Determine if a valid index is returned. Select the item if it is valid.
if ( index != -1 )
listBox1->SetSelected( index, true );
else
MessageBox::Show( "The search string did not match any items in the ListBox" );
}
}
private void FindMyString(string searchString)
{
// Ensure we have a proper string to search for.
if (!string.IsNullOrEmpty(searchString))
{
// Find the item in the list and store the index to the item.
int index = listBox1.FindString(searchString);
// Determine if a valid index is returned. Select the item if it is valid.
if (index != -1)
listBox1.SetSelected(index,true);
else
MessageBox.Show("The search string did not match any items in the ListBox");
}
}
Private Sub FindMyString(ByVal searchString As String)
' Ensure we have a proper string to search for.
If searchString <> String.Empty Then
' Find the item in the list and store the index to the item.
Dim index As Integer = listBox1.FindString(searchString)
' Determine if a valid index is returned. Select the item if it is valid.
If index <> -1 Then
listBox1.SetSelected(index, True)
Else
MessageBox.Show("The search string did not match any items in the ListBox")
End If
End If
End Sub
Uwagi
Wyszukiwanie wykonywane przez tę metodę nie jest uwzględniane wielkości liter. Wyszukiwanie wyszukuje wyrazy, które częściowo pasują do określonego parametru ciągu wyszukiwania, s
. Za pomocą tej metody można wyszukać pierwszy element zgodny z określonym ciągiem. Następnie można wykonywać zadania, takie jak usuwanie elementu zawierającego tekst wyszukiwania przy użyciu Remove metody lub zmiany tekstu elementu. Po znalezieniu określonego tekstu, jeśli chcesz wyszukać inne wystąpienia tekstu w pliku ListBox, możesz użyć wersji FindString metody, która udostępnia parametr do określania indeksu początkowego w obiekcie ListBox. Jeśli chcesz wyszukać dokładne dopasowanie wyrazu zamiast częściowego dopasowania, użyj FindStringExact metody .
Zobacz też
Dotyczy
FindString(String, Int32)
Znajduje pierwszy element w elemencie rozpoczynającym ListBox się od określonego ciągu. Wyszukiwanie rozpoczyna się od określonego indeksu początkowego.
public:
int FindString(System::String ^ s, int startIndex);
public int FindString (string s, int startIndex);
member this.FindString : string * int -> int
Public Function FindString (s As String, startIndex As Integer) As Integer
Parametry
- s
- String
Tekst do wyszukania.
- startIndex
- Int32
Indeks zera elementu przed przeszukanym pierwszym elementem. Ustaw wartość ujemną na wartość (-1), aby wyszukać od początku kontrolki.
Zwraca
Indeks oparty na zerach pierwszego znalezionego elementu; zwraca wartość ListBox.NoMatches
, jeśli nie znaleziono dopasowania.
Wyjątki
Parametr startIndex
jest mniejszy niż zero lub większy lub równy wartości Count właściwości ListBox.ObjectCollection klasy.
Przykłady
Poniższy przykład kodu pokazuje, jak za pomocą FindString metody wyszukać wszystkie wystąpienia tekstu wyszukiwania w elementach elementu ListBox. W przykładzie użyto wersji FindString metody, która umożliwia określenie początkowego indeksu wyszukiwania, z którego ma być stale wyszukiwane wszystkie elementy w elemecie ListBox. W przykładzie pokazano również, jak określić, kiedy FindString metoda rozpoczyna wyszukiwanie w górnej części listy po osiągnięciu dolnej części listy elementów, aby zapobiec wyszukiwaniu cyklicznego. Po znalezieniu elementów w elemecie ListBoxsą one wybrane przy użyciu SetSelected metody .
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
Uwagi
Wyszukiwanie wykonywane przez tę metodę nie jest uwzględniane wielkości liter. Wyszukiwanie wyszukuje wyrazy, które częściowo pasują do określonego parametru ciągu wyszukiwania, s
. Za pomocą tej metody można wyszukać pierwszy element zgodny z określonym ciągiem w określonym indeksie początkowym na liście elementów dla elementu ListBox. Następnie można wykonywać zadania, takie jak usuwanie elementu zawierającego tekst wyszukiwania przy użyciu Remove metody lub zmiany tekstu elementu. Ta metoda jest zwykle używana po wywołaniu przy użyciu wersji tej metody, która nie określa indeksu początkowego. Po znalezieniu początkowego elementu na liście ta metoda jest zwykle używana do znajdowania dalszych wystąpień tekstu wyszukiwania przez określenie pozycji indeksu w startIndex
parametrze elementu po pierwszym znalezionym wystąpieniu tekstu wyszukiwania. Jeśli chcesz wyszukać dokładne dopasowanie wyrazu zamiast częściowego dopasowania, użyj FindStringExact metody .
Uwaga
Gdy wyszukiwanie osiągnie dolną część ListBoxelementu , kontynuuje wyszukiwanie w górnej części ListBox elementu określonego startIndex
przez parametr .