ListBox.FindStringExact Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Najde první položku v ListBox té, která přesně odpovídá zadanému řetězci.
Přetížení
| Name | Description |
|---|---|
| FindStringExact(String) |
Najde první položku v ListBox té, která přesně odpovídá zadanému řetězci. |
| FindStringExact(String, Int32) |
Najde první položku v ListBox té, která přesně odpovídá zadanému řetězci. Hledání začíná konkrétním počátečním indexem. |
FindStringExact(String)
- Zdroj:
- ListBox.cs
- Zdroj:
- ListBox.cs
- Zdroj:
- ListBox.cs
- Zdroj:
- ListBox.cs
- Zdroj:
- ListBox.cs
Najde první položku v ListBox té, která přesně odpovídá zadanému řetězci.
public:
int FindStringExact(System::String ^ s);
public int FindStringExact(string s);
member this.FindStringExact : string -> int
Public Function FindStringExact (s As String) As Integer
Parametry
- s
- String
Text, který chcete vyhledat.
Návraty
Index založený na nule první nalezené položky; vrátí ListBox.NoMatches , pokud nebyla nalezena žádná shoda.
Příklady
Následující příklad kódu ukazuje, jak použít metodu ListBox.FindStringExact pro vyhledávání ListBox ovládacího prvku pro položku, která přesně odpovídá zadanému řetězci. Pokud nebyly nalezeny žádné položky, které odpovídají hledanému řetězci, FindStringExact vrátí -1 hodnotu a v příkladu MessageBoxse zobrazí hodnota . Pokud se najde položka, která odpovídá hledanému textu, použije příklad metodu SetSelected k výběru položky v objektu ListBox.
private:
void FindMySpecificString( 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->FindStringExact( searchString );
// Determine if a valid index is returned. Select the item if it is valid.
if ( index != ListBox::NoMatches )
listBox1->SetSelected( index, true );
else
MessageBox::Show( "The search string did not find any items in the ListBox that exactly match the specified search string" );
}
}
private void FindMySpecificString(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.FindStringExact(searchString);
// Determine if a valid index is returned. Select the item if it is valid.
if (index != ListBox.NoMatches)
listBox1.SetSelected(index,true);
else
MessageBox.Show("The search string did not find any items in the ListBox that exactly match the specified search string");
}
}
Private Sub FindMySpecificString(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.FindStringExact(searchString)
' Determine if a valid index is returned. Select the item if it is valid.
If index <> ListBox.NoMatches Then
listBox1.SetSelected(index, True)
Else
MessageBox.Show("The search string did not find any items in the ListBox that exactly match the specified search string")
End If
End If
End Sub
Poznámky
Vyhledávání prováděné touto metodou nerozlišuje malá a velká písmena. Hledání hledá přesnou shodu se slovy zadanými v parametru svyhledávacího řetězce . Tuto metodu můžete použít k vyhledání první položky, která odpovídá zadanému řetězci. Pak můžete provádět úlohy, jako je odebrání položky, která obsahuje hledaný text, pomocí Remove metody nebo změnou textu položky. Jakmile najdete zadaný text, pokud chcete vyhledat jiné instance textu v nástroji ListBox, můžete použít verzi FindStringExact metody, která poskytuje parametr pro určení počátečního indexu ListBoxv rámci . Pokud chcete místo přesné shody slov provést částečné hledání slov, použijte metodu FindString .
Viz také
Platí pro
FindStringExact(String, Int32)
- Zdroj:
- ListBox.cs
- Zdroj:
- ListBox.cs
- Zdroj:
- ListBox.cs
- Zdroj:
- ListBox.cs
- Zdroj:
- ListBox.cs
Najde první položku v ListBox té, která přesně odpovídá zadanému řetězci. Hledání začíná konkrétním počátečním indexem.
public:
int FindStringExact(System::String ^ s, int startIndex);
public int FindStringExact(string s, int startIndex);
member this.FindStringExact : string * int -> int
Public Function FindStringExact (s As String, startIndex As Integer) As Integer
Parametry
- s
- String
Text, který chcete vyhledat.
- startIndex
- Int32
Index položky založený na nule před první položkou, která se má prohledávat. Nastavte na zápornou hodnotu (-1) pro hledání od začátku ovládacího prvku.
Návraty
Index založený na nule první nalezené položky; vrátí ListBox.NoMatches , pokud nebyla nalezena žádná shoda.
Výjimky
Parametr startIndex je menší než nula nebo větší nebo roven hodnotě Count vlastnosti ListBox.ObjectCollection třídy.
Příklady
Následující příklad kódu ukazuje, jak pomocí FindStringExact metody hledat všechny položky v přesně odpovídající zadaném hledaném ListBox textu. Příklad používá verzi FindStringExact metody, která umožňuje určit počáteční vyhledávací index, ze kterého se má provádět průběžné vyhledávání všech položek v souboru ListBox. Příklad také ukazuje, jak určit, kdy FindStringExact metoda začne hledat od začátku seznamu po dosažení dolní části seznamu položek, aby se zabránilo rekurzivnímu vyhledávání. Jakmile jsou položky nalezeny v objektu ListBox, jsou vybrány pomocí SetSelected metody.
private:
void FindAllOfMyExactStrings( 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->FindStringExact( searchString, x );
// If no item is found that matches exit.
if ( x != -1 )
{
// Since the FindStringExact 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 FindAllOfMyExactStrings(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.FindStringExact(searchString, x);
// If no item is found that matches exit.
if (x != -1)
{
// Since the FindStringExact 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 FindAllOfMyExactStrings(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.FindStringExact(searchString, x)
' If no item is found that matches exit.
If x <> -1 Then
' Since the FindStringExact 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
Poznámky
Vyhledávání prováděné touto metodou nerozlišuje malá a velká písmena. Hledání hledá slova, která přesně odpovídají zadanému parametru vyhledávacího řetězce, s. Tuto metodu můžete použít k vyhledání první položky, která odpovídá zadanému řetězci v zadaném počátečním indexu v seznamu položek pro ListBoxpoložku . Pak můžete provádět úlohy, jako je odebrání položky obsahující hledaný text pomocí Remove metody nebo změna textu položky. Tato metoda se obvykle používá po volání pomocí verze této metody, která nezadá počáteční index. Jakmile se v seznamu najde počáteční položka, tato metoda se obvykle používá k vyhledání dalších instancí hledaného textu zadáním pozice indexu v startIndex parametru položky za první nalezenou instancí vyhledávacího textu. Pokud chcete místo přesné shody slov provést částečné hledání slov, použijte metodu FindString .
Note
Když hledání dosáhne dolní části ListBox, pokračuje v hledání z horní části ListBox zpět na položku určenou parametrem startIndex .