ComboBox.FindStringExact ComboBox.FindStringExact ComboBox.FindStringExact ComboBox.FindStringExact Method

정의

지정된 문자열과 정확히 일치하는 항목을 찾습니다.Finds the item that exactly matches the specified string.

오버로드

FindStringExact(String) FindStringExact(String) FindStringExact(String) FindStringExact(String)

콤보 상자에서 지정된 문자열과 일치하는 첫째 항목을 찾습니다.Finds the first item in the combo box that matches the specified string.

FindStringExact(String, Int32) FindStringExact(String, Int32) FindStringExact(String, Int32) FindStringExact(String, Int32)

지정된 문자열과 일치하며 지정된 인덱스 다음에 나오는 첫째 항목을 찾습니다.Finds the first item after the specified index that matches the specified string.

FindStringExact(String) FindStringExact(String) FindStringExact(String) FindStringExact(String)

콤보 상자에서 지정된 문자열과 일치하는 첫째 항목을 찾습니다.Finds the first item in the combo box that matches the specified string.

public:
 int FindStringExact(System::String ^ s);
public int FindStringExact (string s);
member this.FindStringExact : string -> int
Public Function FindStringExact (s As String) As Integer

매개 변수

s
String String String String

검색할 String입니다.The String to search for.

반환

찾은 첫 번째 항목의 인덱스(0부터 시작)입니다. 일치하는 항목이 없으면 -1을 반환하고, s 매개 변수가 Empty을(를) 지정하면 0을 반환합니다.The zero-based index of the first item found; returns -1 if no match is found, or 0 if the s parameter specifies Empty.

예제

다음 코드 예제에는 초기화 하는 방법을 보여 줍니다.를 ComboBox 설정 하 여 컨트롤을 MaxDropDownItemsDropDownStyle 속성 및 사용 하 여를 FindStringExact 검색 하는 메서드는 ComboBox.The following code example demonstrates how to initialize a ComboBox control by setting the MaxDropDownItems and DropDownStyle properties and using the FindStringExact methods to search the ComboBox. 또한 처리를 보여 줍니다는 SelectedIndexChanged 이벤트입니다.It also shows handling the SelectedIndexChanged event.

#using <System.Drawing.dll>
#using <System.dll>
#using <System.Windows.Forms.dll>

using namespace System::Windows::Forms;
using namespace System;

public ref class Form1: public System::Windows::Forms::Form
{
public:
   Form1() : Form()
   {
      InitializeComboBox();
      InitializeTextBox();
      this->Label1 = gcnew System::Windows::Forms::Label;
      this->SuspendLayout();
      this->Label1->Location = System::Drawing::Point( 8, 24 );
      this->Label1->Name = "Label1";
      this->Label1->Size = System::Drawing::Size( 120, 32 );
      this->Label1->TabIndex = 1;
      this->Label1->Text = "Use drop-down to choose a name:";
      this->Label1->TextAlign = System::Drawing::ContentAlignment::MiddleRight;
      this->ClientSize = System::Drawing::Size( 292, 266 );
      this->Controls->Add( this->Label1 );
      this->Name = "Form1";
      this->Text = "Form1";
      this->ResumeLayout( false );
   }

internal:
   System::Windows::Forms::Label ^ Label1;

   // Declare and initialize the text box.
internal:
   // This text box text will be update programmatically. The user is not 
   // allowed to update it, so the ReadOnly property is set to true.
   System::Windows::Forms::TextBox^ TextBox1;

private:
   void InitializeTextBox()
   {
      this->TextBox1 = gcnew System::Windows::Forms::TextBox;
      this->TextBox1->ScrollBars = ScrollBars::Vertical;
      this->TextBox1->Location = System::Drawing::Point( 64, 128 );
      this->TextBox1->Multiline = true;
      this->TextBox1->Name = "TextBox1";
      this->TextBox1->ReadOnly = true;
      this->TextBox1->Size = System::Drawing::Size( 184, 120 );
      this->TextBox1->TabIndex = 4;
      this->TextBox1->Text = "Employee and Number of Awards:";
      this->Controls->Add( this->TextBox1 );
   }

   // Declare comboBox1 as a ComboBox.
internal:
   System::Windows::Forms::ComboBox^ ComboBox1;

private:
   // This method initializes the combo box, adding a large string array
   // but limiting the drop-down size to six rows so the combo box doesn't 
   // cover other controls when it expands.
   void InitializeComboBox()
   {
      this->ComboBox1 = gcnew System::Windows::Forms::ComboBox;
      array<String^>^ employees = {"Hamilton, David","Hensien, Kari",
         "Hammond, Maria","Harris, Keith","Henshaw, Jeff D.",
         "Hanson, Mark","Harnpadoungsataya, Sariya",
         "Harrington, Mark","Harris, Keith","Hartwig, Doris",
         "Harui, Roger","Hassall, Mark","Hasselberg, Jonas",
         "Harnpadoungsataya, Sariya","Henshaw, Jeff D.",
         "Henshaw, Jeff D.","Hensien, Kari","Harris, Keith",
         "Henshaw, Jeff D.","Hensien, Kari","Hasselberg, Jonas",
         "Harrington, Mark","Hedlund, Magnus","Hay, Jeff",
         "Heidepriem, Brandon D."};
      ComboBox1->Items->AddRange( employees );
      this->ComboBox1->Location = System::Drawing::Point( 136, 32 );
      this->ComboBox1->IntegralHeight = false;
      this->ComboBox1->MaxDropDownItems = 5;
      this->ComboBox1->DropDownStyle = ComboBoxStyle::DropDownList;
      this->ComboBox1->Name = "ComboBox1";
      this->ComboBox1->Size = System::Drawing::Size( 136, 81 );
      this->ComboBox1->TabIndex = 0;
      this->Controls->Add( this->ComboBox1 );
      
      // Associate the event-handling method with the 
      // SelectedIndexChanged event.
      this->ComboBox1->SelectedIndexChanged +=
         gcnew System::EventHandler( this, &Form1::ComboBox1_SelectedIndexChanged );
   }

private:
   // This method is called when the user changes his or her selection.
   // It searches for all occurrences of the selected employee's
   // name in the Items array and adds the employee's name and 
   // the number of occurrences to TextBox1.Text.

   // CAUTION   This code exposes a known bug: If the index passed to the 
   // FindStringExact(searchString, index) method is the last index 
   // of the array, the code throws an exception.
   void ComboBox1_SelectedIndexChanged( Object^ sender,
      System::EventArgs^ e )
   {
      ComboBox^ comboBox = (ComboBox^)(sender);
      
      // Save the selected employee's name, because we will remove
      // the employee's name from the list.
      String^ selectedEmployee = (String^)(ComboBox1->SelectedItem);

      int count = 0;
      int resultIndex = -1;
      
      // Call the FindStringExact method to find the first 
      // occurrence in the list.
      resultIndex = ComboBox1->FindStringExact( selectedEmployee );
      
      // Remove the name as it is found, and increment the found count. 
      // Then call the FindStringExact method again, passing in the 
      // index of the current found item so the search starts there 
      // instead of at the beginning of the list.
      while ( resultIndex != -1 )
      {
         ComboBox1->Items->RemoveAt( resultIndex );
         count += 1;
         resultIndex = ComboBox1->FindStringExact( selectedEmployee,
            resultIndex );
      }

      TextBox1->Text = TextBox1->Text + "\r\n" + selectedEmployee + ": " +
         count;
   }
};

int main()
{
   Application::Run( gcnew Form1 );
}
using System.Windows.Forms;

public class Form1:
	System.Windows.Forms.Form

{
	public Form1() : base()
	{        
		InitializeComboBox();
		InitializeTextBox();
		this.Label1 = new System.Windows.Forms.Label();
		this.SuspendLayout();
		this.Label1.Location = new System.Drawing.Point(8, 24);
		this.Label1.Name = "Label1";
		this.Label1.Size = new System.Drawing.Size(120, 32);
		this.Label1.TabIndex = 1;
		this.Label1.Text = "Use drop-down to choose a name:";
		this.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
		this.ClientSize = new System.Drawing.Size(292, 266);
		this.Controls.Add(this.Label1);
		this.Name = "Form1";
		this.Text = "Form1";
		this.ResumeLayout(false);
	}

	public static void Main()
	{
		Application.Run(new Form1());
	}

   
	internal System.Windows.Forms.Label Label1;
    
    
    

	// Declare and initialize the text box.
	// This text box text will be update programmatically. The user is not 
	// allowed to update it, so the ReadOnly property is set to true.
	internal System.Windows.Forms.TextBox TextBox1;

	private void InitializeTextBox()
	{
		this.TextBox1 = new System.Windows.Forms.TextBox();
		this.TextBox1.ScrollBars = ScrollBars.Vertical;
		this.TextBox1.Location = new System.Drawing.Point(64, 128);
		this.TextBox1.Multiline = true;
		this.TextBox1.Name = "TextBox1";
		this.TextBox1.ReadOnly = true;
		this.TextBox1.Size = new System.Drawing.Size(184, 120);
		this.TextBox1.TabIndex = 4;
		this.TextBox1.Text = "Employee and Number of Awards:";
		this.Controls.Add(this.TextBox1);
	}

	// Declare comboBox1 as a ComboBox.
	internal System.Windows.Forms.ComboBox ComboBox1;
    
	// This method initializes the combo box, adding a large string array
	// but limiting the drop-down size to six rows so the combo box doesn't 
	// cover other controls when it expands.
	private void InitializeComboBox()
	{
		this.ComboBox1 = new System.Windows.Forms.ComboBox();
		string[] employees = new string[]{"Hamilton, David", "Hensien, Kari",
				"Hammond, Maria", "Harris, Keith", "Henshaw, Jeff D.", 
				"Hanson, Mark", "Harnpadoungsataya, Sariya", 
				"Harrington, Mark", "Harris, Keith", "Hartwig, Doris", 
				"Harui, Roger", "Hassall, Mark", "Hasselberg, Jonas", 
				"Harnpadoungsataya, Sariya", "Henshaw, Jeff D.", 
				"Henshaw, Jeff D.", "Hensien, Kari", "Harris, Keith", 
				"Henshaw, Jeff D.", "Hensien, Kari", "Hasselberg, Jonas",
				"Harrington, Mark", "Hedlund, Magnus", "Hay, Jeff", 
				"Heidepriem, Brandon D."};

		ComboBox1.Items.AddRange(employees);
		this.ComboBox1.Location = new System.Drawing.Point(136, 32);
        this.ComboBox1.IntegralHeight = false;
        this.ComboBox1.MaxDropDownItems = 5;
		this.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
		this.ComboBox1.Name = "ComboBox1";
		this.ComboBox1.Size = new System.Drawing.Size(136, 81);
		this.ComboBox1.TabIndex = 0;
		this.Controls.Add(this.ComboBox1);
		
		// Associate the event-handling method with the 
		// SelectedIndexChanged event.
		this.ComboBox1.SelectedIndexChanged += 
			new System.EventHandler(ComboBox1_SelectedIndexChanged);
	}

	// This method is called when the user changes his or her selection.
	// It searches for all occurrences of the selected employee's
	// name in the Items array and adds the employee's name and 
	// the number of occurrences to TextBox1.Text.

	// CAUTION   This code exposes a known bug: If the index passed to the 
	// FindStringExact(searchString, index) method is the last index 
	// of the array, the code throws an exception.
	private void ComboBox1_SelectedIndexChanged(object sender, 
		System.EventArgs e)
	{

		ComboBox comboBox = (ComboBox) sender;

		// Save the selected employee's name, because we will remove
		// the employee's name from the list.
		string selectedEmployee = (string) ComboBox1.SelectedItem;

		int count = 0;
		int resultIndex = -1;

		// Call the FindStringExact method to find the first 
		// occurrence in the list.
		resultIndex = ComboBox1.FindStringExact(selectedEmployee);

		// Remove the name as it is found, and increment the found count. 
		// Then call the FindStringExact method again, passing in the 
		// index of the current found item so the search starts there 
		// instead of at the beginning of the list.
		while (resultIndex!=-1)
		{
			ComboBox1.Items.RemoveAt(resultIndex);
			count += 1;
			resultIndex = ComboBox1.FindStringExact(selectedEmployee, 
				resultIndex);
		}
		// Update the text in Textbox1.
		TextBox1.Text = TextBox1.Text+ "\r\n" + selectedEmployee + ": "
			+ count;
	}

}
Imports System.Windows.Forms

Public Class Form1
    Inherits System.Windows.Forms.Form

    Public Sub New()
        MyBase.New()
        InitializeComboBox()
        InitializeTextBox()
        Me.Label1 = New System.Windows.Forms.Label
        Me.SuspendLayout()
        Me.Label1.Location = New System.Drawing.Point(8, 24)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(120, 32)
        Me.Label1.TabIndex = 1
        Me.Label1.Text = "Use drop-down to choose a name:"
        Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
        Me.ClientSize = New System.Drawing.Size(292, 266)
        Me.Controls.Add(Me.Label1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)
    End Sub

    Shared Sub Main()
        Application.Run(New Form1)
    End Sub

   
    Friend WithEvents Label1 As System.Windows.Forms.Label
    
    
    

    ' Declare and initialize the text box.
    ' This text box text will be update programmatically. The user is not 
    ' allowed to update it, so the ReadOnly property is set to true.
    Friend WithEvents TextBox1 As System.Windows.Forms.TextBox

    Private Sub InitializeTextBox()
        Me.TextBox1 = New System.Windows.Forms.TextBox
        Me.TextBox1.ScrollBars = ScrollBars.Vertical
        Me.TextBox1.Location = New System.Drawing.Point(64, 128)
        Me.TextBox1.Multiline = True
        Me.TextBox1.Name = "TextBox1"
        Me.TextBox1.ReadOnly = True
        Me.TextBox1.Size = New System.Drawing.Size(184, 120)
        Me.TextBox1.TabIndex = 4
        Me.TextBox1.Text = "Employee and Number of Awards:"
        Me.Controls.Add(Me.TextBox1)
    End Sub


    ' Declare comboBox1 as a ComboBox.
    Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox

    ' This method initializes the combo box, adding a large string 
    ' array but limiting the drop-down size to six rows so the combo box
    ' doesn't cover other controls when it expands.
    Private Sub InitializeComboBox()
        Me.ComboBox1 = New System.Windows.Forms.ComboBox
        Dim employees() As String = New String() {"Hamilton, David", _
            "Hensien, Kari", "Hammond, Maria", "Harris, Keith", _
            "Henshaw, Jeff D.", "Hanson, Mark", "Harnpadoungsataya, Sariya", _
            "Harrington, Mark", "Harris, Keith", "Hartwig, Doris", _
            "Harui, Roger", "Hassall, Mark", "Hasselberg, Jonas", _
            "Harnpadoungsataya, Sariya", "Henshaw, Jeff D.", "Henshaw, Jeff D.", _
            "Hensien, Kari", "Harris, Keith", "Henshaw, Jeff D.", _
            "Hensien, Kari", "Hasselberg, Jonas", "Harrington, Mark", _
            "Hedlund, Magnus", "Hay, Jeff", "Heidepriem, Brandon D."}

        ComboBox1.Items.AddRange(employees)
        Me.ComboBox1.Location = New System.Drawing.Point(136, 32)
        Me.ComboBox1.IntegralHeight = False
        Me.ComboBox1.MaxDropDownItems = 5
        Me.ComboBox1.DropDownStyle = ComboBoxStyle.DropDown
        Me.ComboBox1.Name = "ComboBox1"
        Me.ComboBox1.Size = New System.Drawing.Size(136, 81)
        Me.ComboBox1.TabIndex = 0
        Me.Controls.Add(Me.ComboBox1)
    End Sub



    ' This method is called when the user changes his or her selection.
    ' It searches for all occurrences of the selected employee's
    ' name in the Items array and adds the employee's name and 
    ' the number of occurrences to TextBox1.Text.

    ' CAUTION   This code exposes a known bug: If the index passed to the 
    ' FindStringExact(searchString, index) method is the last index 
    ' of the array, the code throws an exception.
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim comboBox As comboBox = CType(sender, comboBox)

        ' Save the selected employee's name, because we will remove
        ' the employee's name from the list.
        Dim selectedEmployee = CType(ComboBox1.SelectedItem, String)

        Dim count As Integer = 0
        Dim resultIndex As Integer = -1

        ' Call the FindStringExact method to find the first 
        ' occurrence in the list.
        resultIndex = ComboBox1.FindStringExact(ComboBox1.SelectedItem)

        ' Remove the name as it is found, and increment the found count. 
        ' Then call the FindStringExact method again, passing in the index of the
        ' current found item so the search starts there instead of 
        ' at the beginning of the list.
        While (resultIndex <> -1)
            ComboBox1.Items.RemoveAt(resultIndex)
            count += 1
            resultIndex = ComboBox1.FindStringExact _
            (selectedEmployee, resultIndex)
        End While

        ' Update the text in Textbox1.
        TextBox1.Text = TextBox1.Text & Microsoft.VisualBasic.vbCrLf _
            & selectedEmployee & ": " & count
    End Sub

End Class

설명

이 메서드에 의해 수행 검색은 대/소문자 구분 되지 않습니다.The search performed by this method is not case-sensitive. s 매개 변수는 콤보 상자 목록에서 해당 항목과 관련 된 텍스트를 비교할 문자열입니다.The s parameter is a string to compare against the text associated with the items in the combo box list. 지정된 된 부분 문자열 일치 하는 목록의 첫 번째 항목을 반환 합니다. 일치 텍스트의 시작 부분에서 시작을 찾습니다.The search looks for a match starting from the beginning of the text, returning the first item in the list that matches the specified substring. 사용 하 여 검색 텍스트를 포함 하는 항목을 제거 하는 등의 작업을 수행할 수 있습니다는 Remove 메서드 또는 항목의 텍스트를 변경 합니다.You can then perform tasks, such as removing the item that contains the search text using the Remove method or changing the item's text. 에 있는 텍스트의 다른 인스턴스를 검색 하려는 경우 지정 된 텍스트를 발견 하면를 ComboBox, 버전을 사용 해야 합니다는 FindStringExact 내의 시작 인덱스를 지정 하는 것에 대 한 매개 변수를 제공 하는 메서드는 ComboBox합니다.Once you have found the specified text, if you want to search for other instances of the text in the ComboBox, you must use the version of the FindStringExact method that provides a parameter for specifying a starting index within the ComboBox. 사용 하 여 완전 하 게 일치 하는 대신 부분 단어 검색을 수행 하려는 경우는 FindString 메서드.If you want to perform partial word search instead of an exact word match, use the FindString method.

FindStringExact(String, Int32) FindStringExact(String, Int32) FindStringExact(String, Int32) FindStringExact(String, Int32)

지정된 문자열과 일치하며 지정된 인덱스 다음에 나오는 첫째 항목을 찾습니다.Finds the first item after the specified index that matches the specified string.

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

매개 변수

s
String String String String

검색할 String입니다.The String to search for.

startIndex
Int32 Int32 Int32 Int32

검색될 첫째 항목 앞에 나오는 항목의 0부터 시작하는 인덱스입니다.The zero-based index of the item before the first item to be searched. 컨트롤의 처음부터 검색하려면 -1로 설정합니다.Set to -1 to search from the beginning of the control.

반환

찾은 첫 번째 항목의 인덱스(0부터 시작)입니다. 일치하는 항목이 없으면 -1을 반환하고, s 매개 변수가 Empty을(를) 지정하면 0을 반환합니다.The zero-based index of the first item found; returns -1 if no match is found, or 0 if the s parameter specifies Empty.

예외

startIndex가 -1보다 작습니다.The startIndex is less than -1.

또는-or- startIndex가 컬렉션의 마지막 인덱스와 같은 경우The startIndex is equal to the last index in the collection.

예제

다음 코드 예제에는 초기화 하는 방법을 보여 줍니다.를 ComboBox 설정 하 여 컨트롤을 MaxDropDownItemsDropDownStyle 속성 및 사용 하 여를 FindStringExact 검색 하는 메서드는 ComboBox.The following code example demonstrates how to initialize a ComboBox control by setting the MaxDropDownItems and DropDownStyle properties and using the FindStringExact methods to search the ComboBox. 또한 처리를 보여 줍니다는 SelectedIndexChanged 이벤트입니다.It also shows handling the SelectedIndexChanged event.

#using <System.Drawing.dll>
#using <System.dll>
#using <System.Windows.Forms.dll>

using namespace System::Windows::Forms;
using namespace System;

public ref class Form1: public System::Windows::Forms::Form
{
public:
   Form1() : Form()
   {
      InitializeComboBox();
      InitializeTextBox();
      this->Label1 = gcnew System::Windows::Forms::Label;
      this->SuspendLayout();
      this->Label1->Location = System::Drawing::Point( 8, 24 );
      this->Label1->Name = "Label1";
      this->Label1->Size = System::Drawing::Size( 120, 32 );
      this->Label1->TabIndex = 1;
      this->Label1->Text = "Use drop-down to choose a name:";
      this->Label1->TextAlign = System::Drawing::ContentAlignment::MiddleRight;
      this->ClientSize = System::Drawing::Size( 292, 266 );
      this->Controls->Add( this->Label1 );
      this->Name = "Form1";
      this->Text = "Form1";
      this->ResumeLayout( false );
   }

internal:
   System::Windows::Forms::Label ^ Label1;

   // Declare and initialize the text box.
internal:
   // This text box text will be update programmatically. The user is not 
   // allowed to update it, so the ReadOnly property is set to true.
   System::Windows::Forms::TextBox^ TextBox1;

private:
   void InitializeTextBox()
   {
      this->TextBox1 = gcnew System::Windows::Forms::TextBox;
      this->TextBox1->ScrollBars = ScrollBars::Vertical;
      this->TextBox1->Location = System::Drawing::Point( 64, 128 );
      this->TextBox1->Multiline = true;
      this->TextBox1->Name = "TextBox1";
      this->TextBox1->ReadOnly = true;
      this->TextBox1->Size = System::Drawing::Size( 184, 120 );
      this->TextBox1->TabIndex = 4;
      this->TextBox1->Text = "Employee and Number of Awards:";
      this->Controls->Add( this->TextBox1 );
   }

   // Declare comboBox1 as a ComboBox.
internal:
   System::Windows::Forms::ComboBox^ ComboBox1;

private:
   // This method initializes the combo box, adding a large string array
   // but limiting the drop-down size to six rows so the combo box doesn't 
   // cover other controls when it expands.
   void InitializeComboBox()
   {
      this->ComboBox1 = gcnew System::Windows::Forms::ComboBox;
      array<String^>^ employees = {"Hamilton, David","Hensien, Kari",
         "Hammond, Maria","Harris, Keith","Henshaw, Jeff D.",
         "Hanson, Mark","Harnpadoungsataya, Sariya",
         "Harrington, Mark","Harris, Keith","Hartwig, Doris",
         "Harui, Roger","Hassall, Mark","Hasselberg, Jonas",
         "Harnpadoungsataya, Sariya","Henshaw, Jeff D.",
         "Henshaw, Jeff D.","Hensien, Kari","Harris, Keith",
         "Henshaw, Jeff D.","Hensien, Kari","Hasselberg, Jonas",
         "Harrington, Mark","Hedlund, Magnus","Hay, Jeff",
         "Heidepriem, Brandon D."};
      ComboBox1->Items->AddRange( employees );
      this->ComboBox1->Location = System::Drawing::Point( 136, 32 );
      this->ComboBox1->IntegralHeight = false;
      this->ComboBox1->MaxDropDownItems = 5;
      this->ComboBox1->DropDownStyle = ComboBoxStyle::DropDownList;
      this->ComboBox1->Name = "ComboBox1";
      this->ComboBox1->Size = System::Drawing::Size( 136, 81 );
      this->ComboBox1->TabIndex = 0;
      this->Controls->Add( this->ComboBox1 );
      
      // Associate the event-handling method with the 
      // SelectedIndexChanged event.
      this->ComboBox1->SelectedIndexChanged +=
         gcnew System::EventHandler( this, &Form1::ComboBox1_SelectedIndexChanged );
   }

private:
   // This method is called when the user changes his or her selection.
   // It searches for all occurrences of the selected employee's
   // name in the Items array and adds the employee's name and 
   // the number of occurrences to TextBox1.Text.

   // CAUTION   This code exposes a known bug: If the index passed to the 
   // FindStringExact(searchString, index) method is the last index 
   // of the array, the code throws an exception.
   void ComboBox1_SelectedIndexChanged( Object^ sender,
      System::EventArgs^ e )
   {
      ComboBox^ comboBox = (ComboBox^)(sender);
      
      // Save the selected employee's name, because we will remove
      // the employee's name from the list.
      String^ selectedEmployee = (String^)(ComboBox1->SelectedItem);

      int count = 0;
      int resultIndex = -1;
      
      // Call the FindStringExact method to find the first 
      // occurrence in the list.
      resultIndex = ComboBox1->FindStringExact( selectedEmployee );
      
      // Remove the name as it is found, and increment the found count. 
      // Then call the FindStringExact method again, passing in the 
      // index of the current found item so the search starts there 
      // instead of at the beginning of the list.
      while ( resultIndex != -1 )
      {
         ComboBox1->Items->RemoveAt( resultIndex );
         count += 1;
         resultIndex = ComboBox1->FindStringExact( selectedEmployee,
            resultIndex );
      }

      TextBox1->Text = TextBox1->Text + "\r\n" + selectedEmployee + ": " +
         count;
   }
};

int main()
{
   Application::Run( gcnew Form1 );
}
using System.Windows.Forms;

public class Form1:
	System.Windows.Forms.Form

{
	public Form1() : base()
	{        
		InitializeComboBox();
		InitializeTextBox();
		this.Label1 = new System.Windows.Forms.Label();
		this.SuspendLayout();
		this.Label1.Location = new System.Drawing.Point(8, 24);
		this.Label1.Name = "Label1";
		this.Label1.Size = new System.Drawing.Size(120, 32);
		this.Label1.TabIndex = 1;
		this.Label1.Text = "Use drop-down to choose a name:";
		this.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
		this.ClientSize = new System.Drawing.Size(292, 266);
		this.Controls.Add(this.Label1);
		this.Name = "Form1";
		this.Text = "Form1";
		this.ResumeLayout(false);
	}

	public static void Main()
	{
		Application.Run(new Form1());
	}

   
	internal System.Windows.Forms.Label Label1;
    
    
    

	// Declare and initialize the text box.
	// This text box text will be update programmatically. The user is not 
	// allowed to update it, so the ReadOnly property is set to true.
	internal System.Windows.Forms.TextBox TextBox1;

	private void InitializeTextBox()
	{
		this.TextBox1 = new System.Windows.Forms.TextBox();
		this.TextBox1.ScrollBars = ScrollBars.Vertical;
		this.TextBox1.Location = new System.Drawing.Point(64, 128);
		this.TextBox1.Multiline = true;
		this.TextBox1.Name = "TextBox1";
		this.TextBox1.ReadOnly = true;
		this.TextBox1.Size = new System.Drawing.Size(184, 120);
		this.TextBox1.TabIndex = 4;
		this.TextBox1.Text = "Employee and Number of Awards:";
		this.Controls.Add(this.TextBox1);
	}

	// Declare comboBox1 as a ComboBox.
	internal System.Windows.Forms.ComboBox ComboBox1;
    
	// This method initializes the combo box, adding a large string array
	// but limiting the drop-down size to six rows so the combo box doesn't 
	// cover other controls when it expands.
	private void InitializeComboBox()
	{
		this.ComboBox1 = new System.Windows.Forms.ComboBox();
		string[] employees = new string[]{"Hamilton, David", "Hensien, Kari",
				"Hammond, Maria", "Harris, Keith", "Henshaw, Jeff D.", 
				"Hanson, Mark", "Harnpadoungsataya, Sariya", 
				"Harrington, Mark", "Harris, Keith", "Hartwig, Doris", 
				"Harui, Roger", "Hassall, Mark", "Hasselberg, Jonas", 
				"Harnpadoungsataya, Sariya", "Henshaw, Jeff D.", 
				"Henshaw, Jeff D.", "Hensien, Kari", "Harris, Keith", 
				"Henshaw, Jeff D.", "Hensien, Kari", "Hasselberg, Jonas",
				"Harrington, Mark", "Hedlund, Magnus", "Hay, Jeff", 
				"Heidepriem, Brandon D."};

		ComboBox1.Items.AddRange(employees);
		this.ComboBox1.Location = new System.Drawing.Point(136, 32);
        this.ComboBox1.IntegralHeight = false;
        this.ComboBox1.MaxDropDownItems = 5;
		this.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
		this.ComboBox1.Name = "ComboBox1";
		this.ComboBox1.Size = new System.Drawing.Size(136, 81);
		this.ComboBox1.TabIndex = 0;
		this.Controls.Add(this.ComboBox1);
		
		// Associate the event-handling method with the 
		// SelectedIndexChanged event.
		this.ComboBox1.SelectedIndexChanged += 
			new System.EventHandler(ComboBox1_SelectedIndexChanged);
	}

	// This method is called when the user changes his or her selection.
	// It searches for all occurrences of the selected employee's
	// name in the Items array and adds the employee's name and 
	// the number of occurrences to TextBox1.Text.

	// CAUTION   This code exposes a known bug: If the index passed to the 
	// FindStringExact(searchString, index) method is the last index 
	// of the array, the code throws an exception.
	private void ComboBox1_SelectedIndexChanged(object sender, 
		System.EventArgs e)
	{

		ComboBox comboBox = (ComboBox) sender;

		// Save the selected employee's name, because we will remove
		// the employee's name from the list.
		string selectedEmployee = (string) ComboBox1.SelectedItem;

		int count = 0;
		int resultIndex = -1;

		// Call the FindStringExact method to find the first 
		// occurrence in the list.
		resultIndex = ComboBox1.FindStringExact(selectedEmployee);

		// Remove the name as it is found, and increment the found count. 
		// Then call the FindStringExact method again, passing in the 
		// index of the current found item so the search starts there 
		// instead of at the beginning of the list.
		while (resultIndex!=-1)
		{
			ComboBox1.Items.RemoveAt(resultIndex);
			count += 1;
			resultIndex = ComboBox1.FindStringExact(selectedEmployee, 
				resultIndex);
		}
		// Update the text in Textbox1.
		TextBox1.Text = TextBox1.Text+ "\r\n" + selectedEmployee + ": "
			+ count;
	}

}
Imports System.Windows.Forms

Public Class Form1
    Inherits System.Windows.Forms.Form

    Public Sub New()
        MyBase.New()
        InitializeComboBox()
        InitializeTextBox()
        Me.Label1 = New System.Windows.Forms.Label
        Me.SuspendLayout()
        Me.Label1.Location = New System.Drawing.Point(8, 24)
        Me.Label1.Name = "Label1"
        Me.Label1.Size = New System.Drawing.Size(120, 32)
        Me.Label1.TabIndex = 1
        Me.Label1.Text = "Use drop-down to choose a name:"
        Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
        Me.ClientSize = New System.Drawing.Size(292, 266)
        Me.Controls.Add(Me.Label1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)
    End Sub

    Shared Sub Main()
        Application.Run(New Form1)
    End Sub

   
    Friend WithEvents Label1 As System.Windows.Forms.Label
    
    
    

    ' Declare and initialize the text box.
    ' This text box text will be update programmatically. The user is not 
    ' allowed to update it, so the ReadOnly property is set to true.
    Friend WithEvents TextBox1 As System.Windows.Forms.TextBox

    Private Sub InitializeTextBox()
        Me.TextBox1 = New System.Windows.Forms.TextBox
        Me.TextBox1.ScrollBars = ScrollBars.Vertical
        Me.TextBox1.Location = New System.Drawing.Point(64, 128)
        Me.TextBox1.Multiline = True
        Me.TextBox1.Name = "TextBox1"
        Me.TextBox1.ReadOnly = True
        Me.TextBox1.Size = New System.Drawing.Size(184, 120)
        Me.TextBox1.TabIndex = 4
        Me.TextBox1.Text = "Employee and Number of Awards:"
        Me.Controls.Add(Me.TextBox1)
    End Sub


    ' Declare comboBox1 as a ComboBox.
    Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox

    ' This method initializes the combo box, adding a large string 
    ' array but limiting the drop-down size to six rows so the combo box
    ' doesn't cover other controls when it expands.
    Private Sub InitializeComboBox()
        Me.ComboBox1 = New System.Windows.Forms.ComboBox
        Dim employees() As String = New String() {"Hamilton, David", _
            "Hensien, Kari", "Hammond, Maria", "Harris, Keith", _
            "Henshaw, Jeff D.", "Hanson, Mark", "Harnpadoungsataya, Sariya", _
            "Harrington, Mark", "Harris, Keith", "Hartwig, Doris", _
            "Harui, Roger", "Hassall, Mark", "Hasselberg, Jonas", _
            "Harnpadoungsataya, Sariya", "Henshaw, Jeff D.", "Henshaw, Jeff D.", _
            "Hensien, Kari", "Harris, Keith", "Henshaw, Jeff D.", _
            "Hensien, Kari", "Hasselberg, Jonas", "Harrington, Mark", _
            "Hedlund, Magnus", "Hay, Jeff", "Heidepriem, Brandon D."}

        ComboBox1.Items.AddRange(employees)
        Me.ComboBox1.Location = New System.Drawing.Point(136, 32)
        Me.ComboBox1.IntegralHeight = False
        Me.ComboBox1.MaxDropDownItems = 5
        Me.ComboBox1.DropDownStyle = ComboBoxStyle.DropDown
        Me.ComboBox1.Name = "ComboBox1"
        Me.ComboBox1.Size = New System.Drawing.Size(136, 81)
        Me.ComboBox1.TabIndex = 0
        Me.Controls.Add(Me.ComboBox1)
    End Sub



    ' This method is called when the user changes his or her selection.
    ' It searches for all occurrences of the selected employee's
    ' name in the Items array and adds the employee's name and 
    ' the number of occurrences to TextBox1.Text.

    ' CAUTION   This code exposes a known bug: If the index passed to the 
    ' FindStringExact(searchString, index) method is the last index 
    ' of the array, the code throws an exception.
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim comboBox As comboBox = CType(sender, comboBox)

        ' Save the selected employee's name, because we will remove
        ' the employee's name from the list.
        Dim selectedEmployee = CType(ComboBox1.SelectedItem, String)

        Dim count As Integer = 0
        Dim resultIndex As Integer = -1

        ' Call the FindStringExact method to find the first 
        ' occurrence in the list.
        resultIndex = ComboBox1.FindStringExact(ComboBox1.SelectedItem)

        ' Remove the name as it is found, and increment the found count. 
        ' Then call the FindStringExact method again, passing in the index of the
        ' current found item so the search starts there instead of 
        ' at the beginning of the list.
        While (resultIndex <> -1)
            ComboBox1.Items.RemoveAt(resultIndex)
            count += 1
            resultIndex = ComboBox1.FindStringExact _
            (selectedEmployee, resultIndex)
        End While

        ' Update the text in Textbox1.
        TextBox1.Text = TextBox1.Text & Microsoft.VisualBasic.vbCrLf _
            & selectedEmployee & ": " & count
    End Sub

End Class

설명

이 메서드에 의해 수행 검색은 대/소문자 구분 되지 않습니다.The search performed by this method is not case-sensitive. s 매개 변수는 콤보 상자 목록에서 해당 항목과 관련 된 텍스트를 비교할 문자열입니다.The s parameter is a string to compare against the text associated with the items in the combo box list. 지정된 된 부분 문자열 일치 하는 목록의 첫 번째 항목을 반환 합니다. 일치 텍스트의 시작 부분에서 시작을 찾습니다.The search looks for a match starting from the beginning of the text, returning the first item in the list that matches the specified substring. 사용 하 여 검색 텍스트를 포함 하는 항목을 제거 하는 등의 작업을 수행할 수 있습니다는 Remove 메서드 또는 항목의 텍스트를 변경 합니다.You can then perform tasks, such as removing the item that contains the search text using the Remove method or changing the item's text. 이 메서드는 호출을 시작 하는 인덱스를 지정 하지 않습니다는이 메서드의 버전을 사용 하 여 생성 된 후에 일반적으로 사용 됩니다.This method is typically used after a call has been made using the version of this method that does not specify a starting index. 초기 항목을 목록에서 찾은,이 메서드는 대개 사용의 인덱스 위치를 지정 하 여 검색 텍스트의 인스턴스를 추가로 찾는 startIndex 첫 번째 검색된 인스턴스의 검색 텍스트 후 항목의 매개 변수입니다.Once an initial item has been found in the list, this method is typically used to find further instances of the search text by specifying the index position in the startIndex parameter of the item after the first found instance of the search text. 사용 하 여 완전 하 게 일치 하는 대신 부분 단어 검색을 수행 하려는 경우는 FindString 메서드.If you want to perform partial word search instead of an exact word match, use the FindString method.

이 메서드에 의해 수행 되는 검색 원형입니다.The search performed by this method is circular. 검색 한 후 다음 인덱스에서 시작 하지만 startIndex 매개 변수 검색을 다시 시작 0부터 컬렉션의 끝에 도달한 경우입니다.Although the search starts at the next index after the startIndex parameter, the search restarts at 0 when the end of the collection is reached. 그러나 경우는 startIndex 자체 매개 변수는 컬렉션의 마지막 인덱스와 같고, 예외가 throw 됩니다.However, note that if the startIndex parameter itself is equal to the last index in the collection, an exception is thrown.

적용 대상