ListBox.FindStringExact 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 belirtilen dizeyle ListBox tam olarak eşleşen ilk öğeyi bulur.
Aşırı Yüklemeler
FindStringExact(String) |
içinde belirtilen dizeyle ListBox tam olarak eşleşen ilk öğeyi bulur. |
FindStringExact(String, Int32) |
içinde belirtilen dizeyle ListBox tam olarak eşleşen ilk öğeyi bulur. Arama belirli bir başlangıç dizininde başlar. |
FindStringExact(String)
içinde belirtilen dizeyle ListBox tam olarak eşleşen ilk öğeyi bulur.
public:
int FindStringExact(System::String ^ s);
public int FindStringExact (string s);
member this.FindStringExact : string -> int
Public Function FindStringExact (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 bulunamazsa döndürür ListBox.NoMatches
.
Örnekler
Aşağıdaki kod örneği, belirtilen dizeyle ListBox.FindStringExact tam olarak eşleşen bir öğe için denetim ListBox aramak için yönteminin nasıl kullanılacağını gösterir. Arama dizesiyle eşleşen hiçbir öğe bulunamazsa, FindStringExact -1 değerini 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 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
Açıklamalar
Bu yöntem tarafından gerçekleştirilen arama büyük/küçük harfe duyarlı değildir. Arama, arama dizesi parametresinde s
belirtilen sözcüklerle tam eşleşme arar. Belirtilen dizeyle eşleşen ilk öğeyi aramak için bu yöntemi kullanabilirsiniz. Daha sonra 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 buldukta, içinde ListBoxmetnin diğer örneklerini aramak istiyorsanız, içinde bir başlangıç dizini belirtmek için bir parametre sağlayan yöntemin FindStringExactListBoxsürümünü kullanabilirsiniz. Tam sözcük eşleşmesi yerine kısmi sözcük araması yapmak istiyorsanız yöntemini kullanın FindString .
Ayrıca bkz.
Şunlara uygulanır
FindStringExact(String, Int32)
içinde belirtilen dizeyle ListBox tam olarak eşleşen ilk öğeyi bulur. Arama belirli bir başlangıç dizininde başlar.
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
Parametreler
- s
- String
Aranacak metin.
- startIndex
- Int32
Aranacak ilk öğeden önce öğenin sıfır tabanlı dizini. Denetimin başından arama yapmak için negatif bir (-1) olarak ayarlayın.
Döndürülenler
Bulunan ilk öğenin sıfır tabanlı dizini; eşleşme bulunamazsa döndürür ListBox.NoMatches
.
Özel durumlar
startIndex
parametresi sıfırdan küçük veya sınıfın özelliğinin ListBox.ObjectCollection değerinden Count büyük veya buna eşit.
Örnekler
Aşağıdaki kod örneği, belirtilen arama metniyle FindStringExact tam olarak eşleşen bir ListBox içindeki tüm öğeleri aramak için yönteminin nasıl kullanılacağını gösterir. Örnek, içindeki tüm öğelerde sürekli arama yapabileceğiniz başlangıç arama dizini belirtmenizi sağlayan yönteminin ListBoxsürümünü FindStringExact kullanır. Örnekte ayrıca, özyinelemeli bir aramayı önlemek için yöntemin öğe listesinin en altına ulaştıktan sonra listenin en üstünden aramaya ne zaman FindStringExact başladığının nasıl belirleneceği de gösterilmektedir. öğeleri içinde ListBoxbulunduktan sonra yöntemi kullanılarak SetSelected seçilir.
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
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
tam olarak eşleşen sözcükleri arar. Için öğe listesinde belirtilen başlangıç dizininde belirtilen dizeyle eşleşen ilk öğeyi aramak için ListBoxbu yöntemi kullanabilirsiniz. Daha sonra yöntemini kullanarak Remove arama metnini içeren öğeyi kaldırma gibi görevleri gerçekleştirebilir veya öğenin metnini değiş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 parametresinde startIndex
dizin konumunu belirterek arama metninin başka örneklerini bulmak için kullanılır. Tam sözcük eşleşmesi yerine kısmi sözcük araması yapmak istiyorsanız yöntemini kullanın FindString .
Not
Arama öğesinin en altına ListBoxulaştığında, gerinin en üstünden ListBox parametresi tarafından startIndex
belirtilen öğeye kadar aramaya devam eder.