TextBoxBase.ScrollToCaret TextBoxBase.ScrollToCaret TextBoxBase.ScrollToCaret TextBoxBase.ScrollToCaret Method

定义

将控件内容滚动到当前插入符号位置。Scrolls the contents of the control to the current caret position.

public:
 void ScrollToCaret();
public void ScrollToCaret ();
member this.ScrollToCaret : unit -> unit
Public Sub ScrollToCaret ()

示例

下面的代码示例演示如何使用Keys枚举ScrollToCaret和方法,以确保按下 ENTER 键后,在屏幕上始终可见文本插入点。The following code example demonstrates how to use the Keys enumeration and the ScrollToCaret method to ensure that the text insertion point, represented by the caret, is always visible on the screen after the ENTER key has been pressed. 若要运行该示例,请将以下代码粘贴到包含名TextBox TextBox1为的控件和RichTextBoxRichTextBox1为的控件的窗体中。To run the example, paste the following code in a form containing a TextBox control called TextBox1 and a RichTextBox control called RichTextBox1. 此示例要求事件处理方法已与KeyDown事件关联。This example requires that the event-handling method has been associated with the KeyDown event.

private:
   //Handles the Enter key being pressed while TextBox1 has focus. 
   void TextBox1_KeyDown( Object^ /*sender*/, KeyEventArgs^ e )
   {
      TextBox1->HideSelection = false;
      if ( e->KeyCode == Keys::Enter )
      {
         e->Handled = true;

         // Copy the text from TextBox1 to RichTextBox1, add a CRLF after 
         // the copied text, and keep the caret in view.
         RichTextBox1->SelectedText = String::Concat( TextBox1->Text, "\r\n" );
         RichTextBox1->ScrollToCaret();
      }
   }
//Handles the Enter key being pressed while TextBox1 has focus. 
private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
    TextBox1.HideSelection = false;
    if (e.KeyCode==Keys.Enter)
    {
        e.Handled = true;

        // Copy the text from TextBox1 to RichTextBox1, add a CRLF after 
        // the copied text, and keep the caret in view.
        RichTextBox1.SelectedText = TextBox1.Text + "\r\n";
        RichTextBox1.ScrollToCaret();
    }
}
'Handles the Enter key being pressed while TextBox1 has focus. 
Private Sub TextBox1_KeyDown(ByVal sender As Object, _
    ByVal e As KeyEventArgs) Handles TextBox1.KeyDown
    TextBox1.HideSelection = False
    If e.KeyCode = Keys.Enter Then
        e.Handled = True

        ' Copy the text from TextBox1 to RichTextBox1, add a CRLF after 
        ' the copied text, and keep the caret in view.
        RichTextBox1.SelectedText = TextBox1.Text + _
            Microsoft.VisualBasic.vbCrLf
        RichTextBox1.ScrollToCaret()
    End If
End Sub

注解

此方法可让你滚动控件的内容,直到插入符号位于控件的可见区域内。This method enables you to scroll the contents of the control until the caret is within the visible region of the control. 如果插入符号位于控件的可见区域下方,则ScrollToCaret方法将滚动控件的内容,直到在控件的底部显示插入符号。If the caret is positioned below the visible region of the control, the ScrollToCaret method will scroll the contents of the control until the caret is visible at the bottom of the control. 如果插入符号位于控件的可见区域之上,则此方法将滚动控件的内容,直到在控件顶部显示插入符号。If the caret is positioned above the visible region of the control, this method scrolls the contents of the control until the caret is visible at the top of the control. 您可以在多行文本框中使用此方法,以确保当前文本输入点位于控件的可见区域内。You can use this method in a multiline text box to ensure that the current text entry point is within the visible region of the control.

备注

如果控件没有焦点,或插入符号已定位在控件的可视区域中,则此方法不起作用。This method has no effect if the control does not have focus or if the caret is already positioned in the visible region of the control.

适用于