ListBox.FindString Metoda

Definice

Najde první položku v zadaném ListBox řetězci.

Přetížení

Name Description
FindString(String)

Najde první položku v zadaném ListBox řetězci.

FindString(String, Int32)

Najde první položku v zadaném ListBox řetězci. Hledání začíná konkrétním počátečním indexem.

FindString(String)

Zdroj:
ListBox.cs
Zdroj:
ListBox.cs
Zdroj:
ListBox.cs
Zdroj:
ListBox.cs
Zdroj:
ListBox.cs

Najde první položku v zadaném ListBox řetězci.

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

Text, který chcete vyhledat.

Návraty

Index založený na nule první nalezené položky; vrátí ListBox.NoMatches , pokud nebyla nalezena žádná shoda.

Výjimky

Hodnota parametru s je menší než -1 nebo větší nebo rovna počtu položek.

Příklady

Následující příklad kódu ukazuje, jak použít metodu FindString hledat první instanci řetězce v .ListBox Pokud nebyly nalezeny žádné položky, které odpovídají hledanému řetězci FindString , vrátí -1 hodnotu a v příkladu MessageBoxse zobrazí . 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 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

Poznámky

Vyhledávání prováděné touto metodou nerozlišuje malá a velká písmena. Hledání hledá slova, která částečně 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. 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 FindString metody, která poskytuje parametr pro určení počátečního indexu ListBoxv rámci . Pokud chcete místo částečné shody vyhledat přesnou shodu slova, použijte metodu FindStringExact .

Viz také

Platí pro

FindString(String, Int32)

Zdroj:
ListBox.cs
Zdroj:
ListBox.cs
Zdroj:
ListBox.cs
Zdroj:
ListBox.cs
Zdroj:
ListBox.cs

Najde první položku v zadaném ListBox řetězci. Hledání začíná konkrétním počátečním indexem.

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

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 použít metodu FindString hledat všechny instance hledaného textu v položkách ListBox. Příklad používá verzi FindString 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 FindString metoda začne hledat z horní části seznamu, jakmile dosáhne 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 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

Poznámky

Vyhledávání prováděné touto metodou nerozlišuje malá a velká písmena. Hledání hledá slova, která částečně 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, která obsahuje hledaný text, pomocí Remove metody nebo změnou 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 částečné shody vyhledat přesnou shodu slova, použijte metodu FindStringExact .

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 .

Viz také

Platí pro