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

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
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
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
3.00

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 109261 - Última Revisão: 12/04/2015 09:53:42 - Revisão: 2.0

Microsoft Visual Basic 3.0 Professional Edition, Microsoft Visual Basic 3.0 Professional Edition

  • kbnosurvey kbarchive kbmt KB109261 KbMtpt
Comentários