TextBoxBase.ScrollToCaret Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Rola o conteúdo do controle para a posição atual do cursor.
public:
void ScrollToCaret();
public void ScrollToCaret ();
member this.ScrollToCaret : unit -> unit
Public Sub ScrollToCaret ()
Exemplos
O exemplo de código a seguir demonstra como usar a Keys enumeração e o ScrollToCaret método para garantir que o ponto de inserção de texto, representado pelo cursor, esteja sempre visível na tela depois que a tecla ENTER tiver sido pressionada. Para executar o exemplo, cole o código a seguir em um formulário que contém um TextBox controle chamado TextBox1
e um RichTextBox controle chamado RichTextBox1
. Este exemplo requer que o método de manipulação de eventos tenha sido associado ao KeyDown evento .
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
Comentários
Esse método permite rolar o conteúdo do controle até que o cursor esteja dentro da região visível do controle. Se o cursor estiver posicionado abaixo da região visível do controle, o ScrollToCaret método rolará o conteúdo do controle até que o cursor esteja visível na parte inferior do controle. Se o cursor estiver posicionado acima da região visível do controle, esse método rolará o conteúdo do controle até que o cursor esteja visível na parte superior do controle. Você pode usar esse método em uma caixa de texto de várias linhas para garantir que o ponto de entrada de texto atual esteja dentro da região visível do controle.
Observação
Esse método não terá efeito se o controle não tiver foco ou se o cursor já estiver posicionado na região visível do controle.