Como definir o foco em um controle quando o formulário é carregado no Visual Basic .NET ou no Visual Basic 2005

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 822493
Sumário
Este artigo descreve como para definir o foco em um controle quando o formulário é carregado. Este artigo descreve como usar a propriedade Form.ActiveControl , como usar o método Control.Focus e como usar o método Control.Select para definir o foco em um controle.

A propriedade Form.ActiveControl retorna o controle ativo ou define o controle ativo no formulário. Quando a propriedade ActiveControl do formulário é definida como um controle no formulário, o foco se move para o controle.

O método Control.Select ativa o controle especificado e define o foco no controle.

O método Control.Focus define o foco de entrada para o controle. Um controle pode receber foco de entrada usando o método Control.Focus se as seguintes condições forem verdadeiras:
  • O bit de estilo ControlStyles.Selectable do controle estiver definido como True .
  • O controle receberá o foco está contido em outro controle e todos os controles pai são visíveis e habilitados.
Observação Você pode usar o método Control.Focus para definir o foco em um controle no evento Load do formulário quando a propriedade Visible do formulário estiver definida como True .

back to the top

Requisitos

Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Sintaxe do Microsoft Visual Basic
  • Ambiente do Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005
  • Controles do Microsoft Visual Basic
back to the top

A propriedade Form.ActiveControl

O exemplo a seguir descreve como usar a propriedade ActiveControl do Form2 para definir o foco no controle TextBox sem texto:
  1. Inicie o Visual Studio .NET ou Visual Studio 2005.
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Em Project Types , clique em Projetos do Visual Basic .

    Observação No Visual Studio 2005, clique em Visual Basic em Project Types .
  4. Em modelos , clique em Windows Application e, em seguida, clique em OK .

    Por padrão, é criado o Form1.
  5. Adicione um controle de botão ao Form1.
  6. Clique com o botão direito do mouse em Button1 e, em seguida, clique em Propriedades .
  7. Na caixa de diálogo Propriedades , defina a propriedade Text para Definir o foco .
  8. No menu Project , clique em Add Windows Form e em seguida, clique em Abrir .

    Por padrão, o Form2 é criado.
  9. Adicione três controles TextBox ao Form2.
  10. Adicione três controles de rótulo Form2.

    Observação Coloque cada controle de Label no lado esquerdo do controle TextBox .
  11. Na caixa de diálogo Propriedades , defina a propriedade texto do Label1 para o nome , definir a propriedade Text de Label2 a empresa e, em seguida, definir a propriedade Text de Label3 para ContactNo .
  12. Na caixa de diálogo Propriedades , remova o texto na propriedade Text de TextBox1 , remova o texto na propriedade Text de TextBox2 e, em seguida, remova o texto na propriedade Text de TextBox3 .
  13. Adicione o seguinte código ao manipulador de eventos Button1_Click no Form1:
    'Create an instance of Form2.Dim MyForm As New Form2()'Set the Text in the TextBoxes on Form2.MyForm.TextBox1.Text = "John"MyForm.TextBox3.Text = "123456"'Display the form.MyForm.Show()
  14. Adicione o seguinte código para Form2_Load manipulador de eventos:
    Dim i As IntegerFor i = 0 To 5  If  Me.Controls(i).Name Is "TextBox1" Or Me.Controls(i).Name Is "TextBox2" Or Me.Controls(i).Name Is "TextBox3" Then      'Find the TextBox for which Text is not set.      If Me.Controls(i).Text = "" Then           'Set the focus on the control without any text.           Me.ActiveControl = Me.Controls(i)      End If  End IfNext
  15. No menu Build , clique em Build Solution .
  16. No menu Debug , clique em Iniciar .
  17. Clique em Definir foco .

    O foco é definido para o controle TextBox sem texto.
back to the top

O método Control.Select

O exemplo a seguir descreve como localizar o controle TextBox sem texto no Form2 e, em seguida, descreve como usar o método Control.Select para definir o foco para o controle:
  1. Substituir a instrução a seguir no manipulador de eventos Form2_Load
    Me.ActiveControl = Me.Controls(i)
    com a instrução a seguir:
     Me.Controls(i).Select()
  2. No menu Build , clique em Build Solution .
  3. No menu Debug , clique em Iniciar .
  4. Clique em Definir foco .

    O foco é definido para o controle TextBox sem texto.
back to the top

O método Control.Focus

O exemplo a seguir descreve como localizar o controle TextBox sem texto no Form2, descreve como definir a propriedade Visible do Form2 para True e, em seguida, descreve como definir o foco no controle usando o método Focus do controle:
  1. Substitua o código existente no Form2_Load manipulador de eventos com o código a seguir:
    'Set the visible property of the form to true, 'and then set the focus to the control.Me.Visible = TrueDim i As IntegerFor i = 0 To 5  If Me.Controls(i).Name Is "TextBox1" Or Me.Controls(i).Name Is "TextBox2" Or Me.Controls(i).Name Is "TextBox3" Then      'Find the TextBox for which Text is not set.      If Me.Controls(i).Text = "" Then          'Set the focus on the control with no text.          Me.Controls(i).Focus()      End If  End IfNext
  2. No menu Build , clique em Build Solution .
  3. No menu Debug , clique em Iniciar .
  4. Clique em Definir foco .

    O foco é definido para o controle TextBox sem texto.
back to the top

Solucionar problemas

  • Remova qualquer texto nos controles TextBox no Form2 antes de executar o aplicativo.
  • Você pode usar o método Control.Focus no evento Load do formulário para definir o foco em um controle somente depois que a propriedade Visible do formulário for definida como True .
back to the top
Referências
Para obter mais informações, visite os seguintes sites da Microsoft Developer Network (MSDN):back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 822493 - Última Revisão: 11/26/2007 07:02:04 - Revisão: 2.5

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbmt kbvs2005swept kbvs2005applies kbwindowsforms kbforms kbctrl kbcontrol kbhowtomaster kbhowto KB822493 KbMtpt
Comentários