none
Como tirar o foco de um botão quando abrir meu formulário?! RRS feed

  • Pergunta

  • Boa noite a todos...

    Estou Usando o Visual Basic 2012

    estou como um sério problema, que pra muitos aqui pode ser apenas coisas simples, mas para mim tá bastante complicado de se resolver.

    À questão é a seguinte... vou citar um exemplo que ocorre sempre, vamos lá.

    Criei um formulário Principal (form1) com 1 botão - (p/ abrir o form2)

    ex:. Button1

    Neste botãos irei abrir no modo showdialog, para que o form2 abra sem permitir que eu clique no form de trás (form1)

    Criei um formulário Secundário (form2) com 3 Textbox. 

    ex:. Textbox1, Textbox2 e Textbox3.

     e também adicionei nele(form2) 2 botões.

    ex:. Button1 e Button2

    sendo que esses dois botões terão a mesma funcão de fechar o form2 e voltar ao form1 - estou usando o código (me.close) nos 2 botões.

    Bom. Aqui é que tá o problema, eu coloquei esses dois botões só pra que entendem o problema melhor, que é o seguinte... não importa em qual dos botões eu clique para fechar meu form2, toda vez que eu clico no Button1 do form1 para abrir o form2, o foco sempre fica em cima do botão que eu havia clicado anteriormente. E eu queria por exemplo saber como fazer para meu form2 abrir com o foco em uma das textbox. ex: textbox2 ou textbox3.

    pra resumir melhor... o que eu quero é que quando eu feche meu form clicando num botão pra sair dele, quando eu abrí-lo novamente, eu preciso que o foco não fique no botão clicado antes de fechar e sim em uma textbox qualquer do form em questão...

    Agradeço de já muito quem colaborar comigo...

    obg...





    quarta-feira, 5 de julho de 2017 21:33

Respostas

  • Basta definir a propriedade TabIndex = 0 no controle que você deseja que tenha o foco ao abrir o form:

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
        Me.TextBox1.Focus()
    End Sub
    

    Ou definir no evento Load:

    Me.TextBox1.TabIndex = 0

    Mas se você usa a mesma instância do form depois de fechá-lo, faça isto no evento Closing.

    quinta-feira, 6 de julho de 2017 00:05

Todas as Respostas

  • Basta definir a propriedade TabIndex = 0 no controle que você deseja que tenha o foco ao abrir o form:

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
        Me.TextBox1.Focus()
    End Sub
    

    Ou definir no evento Load:

    Me.TextBox1.TabIndex = 0

    Mas se você usa a mesma instância do form depois de fechá-lo, faça isto no evento Closing.

    quinta-feira, 6 de julho de 2017 00:05
  • Boa tarde,

    Por falta de retorno, essa thread está sendo encerrada.

    Caso necessário, deverá ser aberta uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 10 de julho de 2017 16:13
    Moderador