RichTextBox.GetCharIndexFromPosition(Point) RichTextBox.GetCharIndexFromPosition(Point) RichTextBox.GetCharIndexFromPosition(Point) RichTextBox.GetCharIndexFromPosition(Point) Method

Définition

Récupère l'index du caractère le plus proche de l'emplacement spécifié.Retrieves the index of the character nearest to the specified location.

public:
 int GetCharIndexFromPosition(System::Drawing::Point pt);
public int GetCharIndexFromPosition (System.Drawing.Point pt);
member this.GetCharIndexFromPosition : System.Drawing.Point -> int
Public Function GetCharIndexFromPosition (pt As Point) As Integer

Paramètres

pt
Point Point Point Point

Emplacement où rechercher.The location to search.

Retours

Index de base zéro du caractère situé à l'emplacement spécifié.The zero-based character index at the specified location.

Exemples

L’exemple de code suivant montre comment utiliser la GetCharIndexFromPosition méthode avec la Find méthode pour rechercher une chaîne spécifique dans un RichTextBox contrôle et afficher l’index de caractère où se trouve la chaîne trouvée dans le RichTextBox régulation.The following code example demonstrates how to use the GetCharIndexFromPosition method with the Find method to search for a specific string within a RichTextBox control and display the character index where the found string is located within the RichTextBox control. L’exemple recherche le mot « Brown » dans le contenu du contrôle et retourne la position d’index de caractère où la chaîne recherchée est trouvée.The example searches for the word "brown" within the contents of the control and returns the character index position where the search string is found. Cet exemple nécessite que vous disposiez d’un formulaire qui RichTextBox contient un richTextBox1 contrôle nommé qui contient du texte.This example requires that you have a form that contains a RichTextBox control named richTextBox1 that contains text. Elle requiert également que le code de l’exemple soit connecté à l' MouseDown événement RichTextBoxde.It also requires that the code in the example is connected to the MouseDown event of the RichTextBox.

private:
   void richTextBox1_MouseDown( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^ e )
   {
      // Declare the string to search for in the control.
      String^ searchString = "brown";

      // Determine whether the user clicks the left mouse button and whether it is a double click.
      if ( e->Clicks == 1 && e->Button == ::MouseButtons::Left )
      {
         // Obtain the character index where the user clicks on the control.
         int positionToSearch = richTextBox1->GetCharIndexFromPosition( Point(e->X,e->Y) );

         // Search for the search string text within the control from the point the user clicked.
         int textLocation = richTextBox1->Find( searchString, positionToSearch, RichTextBoxFinds::None );

         // If the search string is found (value greater than -1), display the index the string was found at.
         if ( textLocation >= 0 )
            MessageBox::Show( String::Format( "The search string was found at character index {0}.", textLocation ) ); // Display a message box alerting the user that the text was not found.
         else
            MessageBox::Show( "The search string was not found within the text of the control." );
      }
   }
private void richTextBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
	// Declare the string to search for in the control.
	string searchString = "brown";

	// Determine whether the user clicks the left mouse button and whether it is a double click.
	if (e.Clicks == 1 && e.Button == MouseButtons.Left)
	{
		// Obtain the character index where the user clicks on the control.
		int positionToSearch = richTextBox1.GetCharIndexFromPosition(new Point(e.X, e.Y));
		// Search for the search string text within the control from the point the user clicked.
		int textLocation = richTextBox1.Find(searchString, positionToSearch, RichTextBoxFinds.None);

		// If the search string is found (value greater than -1), display the index the string was found at.
		if (textLocation >= 0)
			MessageBox.Show("The search string was found at character index " + textLocation.ToString() + ".");
		else
			// Display a message box alerting the user that the text was not found.
			MessageBox.Show("The search string was not found within the text of the control.");
	}
}
Private Sub richTextBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles richTextBox1.MouseDown
    ' Declare the string to search for in the control.
    Dim searchString As String = "brown"

    ' Determine whether the user clicks the left mouse button and whether it is a double click.
    If e.Clicks = 1 And e.Button = MouseButtons.Left Then
        ' Obtain the character index where the user clicks on the control.
        Dim positionToSearch As Integer = richTextBox1.GetCharIndexFromPosition(New Point(e.X, e.Y))
        ' Search for the search string text within the control from the point the user clicked.
        Dim textLocation As Integer = richTextBox1.Find(searchString, positionToSearch, RichTextBoxFinds.None)

        ' If the search string is found (value greater than -1), display the index the string was found at.
        If textLocation >= 0 Then
            MessageBox.Show(("The search string was found at character index " + textLocation.ToString() + "."))
            ' Display a message box alerting the user that the text was not found.
        Else
            MessageBox.Show("The search string was not found within the text of the control.")
        End If
    End If
End Sub

Remarques

Cette méthode retourne l’index de caractère le plus proche de la position spécifiée dans le pt paramètre.This method returns the character index that is closest to the position specified in the pt parameter. L’index de caractère est un index de base zéro de texte dans le contrôle, y compris des espaces.The character index is a zero-based index of text in the control, including spaces. Vous pouvez utiliser cette méthode pour déterminer à quel endroit du texte l’utilisateur a pointé la souris en passant les coordonnées de la souris à cette méthode.You can use this method to determine where in the text the user has the mouse over by passing the mouse coordinates to this method. Cela peut être utile si vous souhaitez effectuer des tâches lorsque l’utilisateur place le pointeur de la souris sur un mot dans le texte du contrôle.This can be useful if you want to perform tasks when the user rests the mouse pointer over a word in the text of the control.

S’applique à

Voir aussi