Como utilizar TAB na caixa de texto VB sem alterar o foco

Traduções de Artigos Traduções de Artigos
Artigo: 109261 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo mostra como utilizar a pressão de tecla TAB dentro de um controlo, tal como uma caixa de texto por exemplo. Normalmente, a tecla de tabulação faz com que o foco se mova longe esse controlo. O programa de exemplo neste artigo mostra como alterar este comportamento para que poder utilizar o TAB numa caixa de texto.

O programa de exemplo fá-lo definindo a propriedade TabStop de todos os controlos do formulário como FALSE quando a caixa de texto tem o foco. Tabbing alterações foco entre todos os controlos que têm uma igual de propriedade TabStop como TRUE, a predefinição. Quando a propriedade TabStop é verdadeira para um ou mais controlos num formulário, o Visual Basic não permite separadores devem ser introduzidos directamente num controlo.

Mais Informação

Exemplo passo a passo

No exemplo abaixo, a caixa texto2 irá aceitar e mantenha batimentos de tecla TAB, mantendo-as na propriedade texto juntamente com os caracteres introduzidos. As caixas Texto1 e Texto3 não vão aceitar batimentos de tecla de tabulação. Quando Texto1 e Texto3 tem o foco, premir a tecla TAB é alterado o foco para o controlo seguinte na ordem de tabulação.
  1. Inicie um novo projecto no Visual Basic. É criado o Form1 por predefinição.
  2. Adicione três caixas de texto (Texto1, texto2 e Texto3) ao Form1. Seleccione a caixa texto2 e prima a tecla F4 para apresentar a janela Propriedades. Defina a propriedade MultiLine do texto2 como TRUE.

    NOTA: Quando prime a tecla TAB, texto de linha única caixas alarme sonoro e não aceitam o batimento de tecla TAB, mas com várias linhas texto caixas aceitar TAB batimentos de teclas.
  3. Faça duplo clique a caixa texto2 para abrir a janela de código. Escolha o ReceberFoco eventos a partir da caixa Proc.. Adicione o seguinte código ao ReceberFoco texto2 evento:
       Sub Text2_GotFocus ()
          ' When Text2 gets the focus, clear all TabStop properties on all
          ' controls on the form. Ignore all errors, in case a control does
          ' not have the TabStop property.
          On Error Resume Next
          For i = 0 To Controls.Count - 1   ' Use the Controls collection
             Controls(i).TabStop = False
          Next
       End Sub
    
    						
    Nota: consulte a secção "Controlos colecção" abaixo para obter uma explicação da colecção de controlos.
  4. Escolha o evento PerderFoco na caixa Proc.. Adicione o seguinte código ao evento PerderFoco texto2:
       Sub Text2_LostFocus ()
          ' When Text2 loses the focus, make the TabStop property True for all
          ' controls on the form. That restores the ability to tab between
          ' controls. Ignore all errors, in case a control does not have the
          ' TabStop property.
          On Error Resume Next
          For i = 0 To Controls.Count - 1   ' Use the Controls collection
             Controls(i).TabStop = True
          Next
       End Sub
    
    						
  5. Iniciar o programa ou prima a tecla F5. Prima a tecla TAB para dar foco texto2. Introduza texto na caixa de texto2, premir a tecla TAB conforme necessário. Sempre que Texto1 ou Texto3 tiver o foco, premir a tecla TAB move o foco para o controlo seguinte. Sempre que texto2 tiver o foco, permanecem batimentos de tecla de tabulação com o texto na caixa de texto. Feche o formulário para terminar o programa.

Ordem de tabulação

Por predefinição, Visual Basic atribui ordem de tabulação aos controlos da ordem que desenhá-las num formulário. Cada novo controlo é colocado pela última vez na ordem de tabulação. Pode controlar a ordem de controlos obter o foco na sua aplicação alterando a ordem de tabulação durante a estruturação através da janela Propriedades ou durante a execução através do código.

Para alterar a ordem de tabulação no momento da estruturação:
  1. Clique num controlo para seleccioná-la.
  2. Janela Propriedades, seleccione TabIndex. Visual Basic apresenta a posição do separador actual na caixa definições.
  3. Escreva o número para a posição de ordem de separador que pretende o controlo para.
  4. Clique no botão ENTER. Pode testar a ordem de tabulação no momento da estruturação premindo a tecla TAB.
Para activar ou desactivar uma tabulação no momento da estruturação:
  1. Clique num controlo para seleccioná-la.
  2. Janela Propriedades, seleccione TabStop. Visual Basic apresenta o valor boleano actual na caixa definições.
  3. Seleccione VERDADEIRO para designar o controlo como uma tabulação ou seleccione FALSE para ignorar o controlo na ordem de tabulação.
  4. Clique no botão ENTER.
Quando alterar ordem de tabulação de um controlo, o Visual Basic renumera automaticamente as ordem de tabulações de outros controlos para reflectir inserções e eliminações.

Um controlo cuja propriedade TabStop foi definida para FALSO mantém a posição na ordem de tabulação real como definido pela propriedade TabIndex, mesmo que o controlo é ignorado quando percorrer os controlos utilizando a tecla TAB. Se a propriedade TabStop for FALSE para todos os controlos no formulário, pode introduzir batimentos de tecla de tabulação para caixas de texto MultiLine.

Colecção de controlos

A colecção de controlos é uma colecção cujos elementos representam cada controlo num formulário, incluindo elementos das matrizes de controlo. A colecção de controlos tem uma propriedade única (contagem) que especifica o número de elementos de uma matriz.

A colecção de controlos enumera carregados controlos num formulário e é útil para iterar através de-los. O índice na sintaxe é entre 0 e 1 Controls.Count.

NOTA: Controlos é uma palavra-chave, mas não uma palavra reservada. Identifica uma variável de nível do formulário intrínseca denominada controlos. Se omitir a referência de formulário opcional, tem de incluir a palavra-chave controlos. Se incluir uma referência de formulário, pode omitir a palavra-chave controlos. Por exemplo, as duas linhas seguintes têm o mesmo efeito:

.Top MyForm.Controls (6) = .Top MyForm.Controls (5) + incrementar .Top MyForm (6) = .Top MyForm (5) + incremento

Propriedades

Artigo: 109261 - Última revisão: 29 de outubro de 2003 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 3.0 Professional Edition
Palavras-chave: 
kbmt KB109261 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 109261
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com