Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

emanuelx

retirar cursor da textbox

Recommended Posts

emanuelx

como é que eu posso fazer para retirar o cursor da textbox.

já tentei me.focus e não funciona..

cumps


com calma e sem stresses

Share this post


Link to post
Share on other sites
emanuelx

por exemplo eu tenho uma textbox e tenho um codigo na form_keydown

  Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If TextBox1.Focused = False Then
            If e.KeyCode = Keys.F Then
               MsgBox("AA")
            End If
        End If 
End Sub

mas se o cursor estiver dentro da caixa de texto ele não executa a tecla, mas escreve-a na textbox


com calma e sem stresses

Share this post


Link to post
Share on other sites
emanuelx

é assim eu quero criar teclas de atalho para executar o evento fullscreen

mas tenho uma textbox para pesquisar e o botão enter está a funcionar 5*.

 Private Sub TextBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.Enter And BackgroundWorker1.IsBusy = False Then
            procurar_Click(sender, e)
        End If
End Sub

mas o cursor fica sempre dentro da textbox e não consigo nunca consigo executar a tecla f na form, pois escreve na textbox em vez de executar.

mas se eu activar o KeyPreview= true

mesmo que eu esteja a escrever a letra F na textbox, ele vai executar sempre a função que está em form_keydown.

não sei se me fiz compreender.

cumps


com calma e sem stresses

Share this post


Link to post
Share on other sites
emanuelx

ya, mas por exemplo eu procuro uma coisa na textbox e depois cartrego no botao para pesquisar que lá tem o código

TextBox1.TabStop = False

mas depois o cursor fica lá na mesma e não sai.

mas por exemplo esse codigo está no form_load e funciona bem


com calma e sem stresses

Share this post


Link to post
Share on other sites
jpaulino

Mas tens mais controlos no form? Só tens de passar o focus para outro controlo após a pesquisa.

Share this post


Link to post
Share on other sites
emanuelx

eu já tentei por o focus para outro controlo.

picturebox.focus()

e já tentei por para um webbrowser.focus()

e o cursor fica na mesma dentro da textbox


com calma e sem stresses

Share this post


Link to post
Share on other sites
emanuelx

pode não estar ai agora o código nesse que postei, mas testei no projecto.


com calma e sem stresses

Share this post


Link to post
Share on other sites
jpaulino

Se não mostras o que tens, ninguém de vai conseguir ajudar (ou dificilmente vai conseguir)

Share this post


Link to post
Share on other sites
bioshock

TextBox1.TabStop = False

No fim do código de pesquisar, colocas isso.

no final do evento pesquisar tenho webbrowser1.focus()

Percebes?

Share this post


Link to post
Share on other sites
emanuelx

  Private Sub TextBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.Enter And BackgroundWorker1.IsBusy = False Then
            procurar_Click(sender, e)
        End If
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        TextBox1.TabStop = True
        ' TextBox1.Focus()
    End Sub
    Private Sub TextBox1_TabStopChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TabStopChanged
        If TextBox1.TabStop = False Then
            Me.Focus()
        End If
        If TextBox1.TabStop = True Then
            TextBox1.Focus()
        End If
    End Sub

    Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.F Then
            MessageBox.Show("Teste")

        End If
    End Sub

Private Sub procurar_Click(sender As System.Object, e As System.EventArgs) Handles procurar.Click
        BackgroundWorker1.RunWorkerAsync()
        TextBox1.TabStop = False
        Me.Focus()
    End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Focus()  
        TextBox1.TabStop = False
    End Sub

o código que eu tenho é este.

Quando a form inicia a tecla F funciona e o cursor não é mostrado na textbox.

Depois eu meto o cursor na textbox carrego na botão para procurar e o F funciona mas o cursor não sai da textbox, e ao mesmo tempo que executo a hotkey ele escreve na textbox.

o que eu queria era quando carregava em procurar o cursor saia da texbox.

não sei se agora perceberam.


com calma e sem stresses

Share this post


Link to post
Share on other sites
bioshock

Troca isto:

Private Sub procurar_Click(sender As System.Object, e As System.EventArgs) Handles procurar.Click
        BackgroundWorker1.RunWorkerAsync()
        TextBox1.TabStop = False
        Me.Focus()
    End Sub

Por isto:

Private Sub procurar_Click(sender As System.Object, e As System.EventArgs) Handles procurar.Click
        TextBox1.TabStop = False
      BackgroundWorker1.RunWorkerAsync()
    End Sub

Share this post


Link to post
Share on other sites
emanuelx

nepia continua a escrever na textbox.

mas esqueci-me de postar un código que tinha lá

   Private Sub TextBox1_MouseEnter(sender As Object, e As System.EventArgs) Handles TextBox1.MouseEnter
        KeyPreview = False
    End Sub

    Private Sub TextBox1_MouseLeave(sender As Object, e As System.EventArgs) Handles TextBox1.MouseLeave
        KeyPreview = True
    End Sub


com calma e sem stresses

Share this post


Link to post
Share on other sites
bioshock
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.ActiveControl = Nothing
        BackgroundWorker1.RunWorkerAsync()
    End Sub
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.F Then
            MessageBox.Show("Teste")
        End If
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Focus()
        TextBox1.TabStop = False
    End Sub

Share this post


Link to post
Share on other sites
emanuelx

obrigado era mesmo esse comando que faltava.

assim já fica tudo a funcionar 5*  ;)


com calma e sem stresses

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.