ListBox.FindString Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
içinde ListBox belirtilen dizeyle başlayan ilk öğeyi bulur.
Aşırı Yüklemeler
FindString(String) |
içinde ListBox belirtilen dizeyle başlayan ilk öğeyi bulur. |
FindString(String, Int32) |
içinde ListBox belirtilen dizeyle başlayan ilk öğeyi bulur. Arama belirli bir başlangıç dizininde başlar. |
FindString(String)
içinde ListBox belirtilen dizeyle başlayan ilk öğeyi bulur.
public:
int FindString(System::String ^ s);
public int FindString (string s);
member this.FindString : string -> int
Public Function FindString (s As String) As Integer
Parametreler
- s
- String
Aranacak metin.
Döndürülenler
Bulunan ilk öğenin sıfır tabanlı dizini; eşleşme bulunmazsa döndürür ListBox.NoMatches
.
Özel durumlar
Parametrenin s
değeri -1'den küçük veya öğe sayısına eşit veya ondan büyük.
Örnekler
Aşağıdaki kod örneği, içindeki bir dizenin FindString ListBoxilk örneğini aramak için yönteminin nasıl kullanılacağını gösterir. Arama dizesiyle FindString eşleşen hiçbir öğe bulunmazsa bir -1 değeri döndürür ve örnekte bir MessageBoxgörüntülenir. Arama metniyle eşleşen bir öğe bulunursa, örnekte içindeki öğeyi ListBoxseçmek için yöntemi kullanılırSetSelected.
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
Açıklamalar
Bu yöntem tarafından gerçekleştirilen arama büyük/küçük harfe duyarlı değildir. Arama, belirtilen arama dizesi parametresiyle s
kısmen eşleşen sözcükleri arar. Belirtilen dizeyle eşleşen ilk öğeyi aramak için bu yöntemi kullanabilirsiniz. Ardından yöntemini kullanarak Remove veya öğenin metnini değiştirerek arama metnini içeren öğeyi kaldırma gibi görevleri gerçekleştirebilirsiniz. Belirtilen metni bulduğunuzda, içindeki ListBoxmetnin diğer örneklerini aramak istiyorsanız, içinde bir başlangıç dizini belirtmek için bir parametre sağlayan yöntemin FindString ListBoxsürümünü kullanabilirsiniz. Kısmi eşleşme yerine tam sözcük eşleşmesi için arama yapmak istiyorsanız yöntemini kullanın FindStringExact .
Ayrıca bkz.
Şunlara uygulanır
FindString(String, Int32)
içinde ListBox belirtilen dizeyle başlayan ilk öğeyi bulur. Arama belirli bir başlangıç dizininde başlar.
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
Parametreler
- s
- String
Aranacak metin.
- startIndex
- Int32
Aranacak ilk öğeden önceki öğenin sıfır tabanlı dizini. Denetimin başından itibaren aramak için negatif bir (-1) olarak ayarlayın.
Döndürülenler
Bulunan ilk öğenin sıfır tabanlı dizini; eşleşme bulunmazsa döndürür ListBox.NoMatches
.
Özel durumlar
startIndex
parametresi sıfırdan küçük veya sınıfın özelliğinin Count ListBox.ObjectCollection değerine eşit veya ondan büyük.
Örnekler
Aşağıdaki kod örneği, öğesindeki arama ListBoxmetninin FindString tüm örneklerini aramak için yönteminin nasıl kullanılacağını gösterir. Örnekte, içindeki tüm öğelerde ListBoxsürekli arama yapabileceğiniz bir başlangıç arama dizini belirtmenize olanak tanıyan yöntemin sürümü FindString kullanılır. Örnekte, özyinelemeli aramayı önlemek için yöntemin FindString öğe listesinin en altına ulaştıktan sonra listenin en üstünden aramaya ne zaman başladığının nasıl belirleneceği de gösterilmektedir. öğeleri içinde ListBoxbulunduktan sonra yöntemi kullanılarak SetSelected seçilirler.
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
Açıklamalar
Bu yöntem tarafından gerçekleştirilen arama büyük/küçük harfe duyarlı değildir. Arama, belirtilen arama dizesi parametresiyle s
kısmen eşleşen sözcükleri arar. Bu yöntemi, öğesi listesinde belirtilen başlangıç dizininde belirtilen dizeyle eşleşen ilk öğeyi aramak için ListBoxkullanabilirsiniz. Ardından yöntemini kullanarak Remove veya öğenin metnini değiştirerek arama metnini içeren öğeyi kaldırma gibi görevleri gerçekleştirebilirsiniz. Bu yöntem genellikle bu yöntemin başlangıç dizini belirtmeyen sürümü kullanılarak bir çağrı yapıldıktan sonra kullanılır. Listede ilk öğe bulunduktan sonra bu yöntem genellikle arama metninin ilk bulunan örneğinden sonra öğenin parametresindeki startIndex
dizin konumunu belirterek arama metninin diğer örneklerini bulmak için kullanılır. Kısmi eşleşme yerine tam sözcük eşleşmesi için arama yapmak istiyorsanız yöntemini kullanın FindStringExact .
Not
Arama öğesinin ListBoxen altına ulaştığında, gerinin en üstünden ListBox parametresi tarafından startIndex
belirtilen öğeye kadar aramaya devam eder.