Preciso remover o foco de vários TextBoxes. Tentei usar:
textBox1.Focused = false;
O ReadOnly
valor de sua propriedade é true
.
Em seguida, tentei definir o foco no formulário, de forma a removê-lo de todos os TextBoxes, mas também não funcionou:
this.Focus();
e a função retorna false
quando uma caixa de texto é selecionada.
Então, como removo o foco de um TextBox?
Focar na etiqueta não funcionou para mim, fazer algo como
label1.Focus()
certo? a caixa de texto ainda está em foco ao carregar o formulário, no entanto, tentar responder aos Velociraptores funcionou para mim, configurando o controle Ativo do Form para o rótulo assim:fonte
this.ActiveControl = panelOnMyForm;
Você pode adicionar o seguinte código:
fonte
Tente desativar e ativar a caixa de texto.
fonte
textBox1.Enabled = false;
desativará sua caixa de texto. e configurá-lo paratrue
reativá-lo.Você também pode definir a
activecontrol
propriedade forms paranull
likefonte
Focus
define o foco de entrada, portanto configurá-lo para o formulário não funcionará porque os formulários não aceitam entrada. Tente definir aActiveControl
propriedade do formulário para um controle diferente. Você também pode usarSelect
para selecionar um controle específico ouSelectNextControl
para selecionar o próximo controle na ordem das guias.fonte
Select()
funcionou para mim.Tente este:
Primeiro configure a ordem das guias.
Então, no evento de carregamento de formulário, podemos enviar um pressionamento de tecla de tabulação programaticamente para o aplicativo. Assim, esse aplicativo dará foco ao primeiro controle na ordem das guias.
no carregamento do formulário até mesmo escrever esta linha.
Isso funcionou para mim.
fonte
Esta postagem me levou a fazer isso:
Isso me permite capturar todas as entradas do teclado no nível superior sem que outros controles fiquem loucos.
fonte
Encontrei uma boa alternativa! Funciona melhor para mim, sem definir o foco para outra coisa.
Tente isso:
fonte
Fiz isso no meu controle personalizado, fiz isso noFocus ()
Portanto, se o texbox está focado - ele imediatamente focaliza a caixa de texto pai (formulário ou painel ...) Esta é uma boa opção se você quiser fazer isso no controle personalizado.
fonte
Parece que não preciso definir o foco para nenhum outro elemento. Em um aplicativo do Windows Phone 7, tenho usado o método Focus para remover o foco de uma caixa de texto.
Dar o seguinte comando não definirá o foco para nada:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.focus.aspx
Funcionou comigo, mas não sei por que não funcionou para você: /
fonte
Uma solução simples seria matar o foco, basta criar sua própria classe:
fonte
fonte
A maneira de contornar isso é colocar todos os meus controles de winform. Eu faço todos os rótulos e controles de winform não selecionados como ordem de tabulação 0, então meu primeiro controle como ordem de tabulação 2 e, em seguida, incremento a ordem de cada controle selecionável em 1, então 3, 4, 5 etc ...
Desta forma, quando meu Winforms inicia, o primeiro TextBox não tem foco!
fonte
você pode fazer isso por dois métodos
arraste duas caixas de texto
fonte
Se tudo o que você deseja é o efeito óptico de que a caixa de texto não tem nenhuma seleção azul em todo o seu conteúdo, basta selecionar nenhum texto:
Depois disso, ao adicionar conteúdo com
.Text += "..."
, nenhuma seleção azul será exibida.fonte
Por favor, tente definir
TabStop
comoFalse
para seu controle de visualização que não está focadoPor exemplo:
fonte
No construtor do Form ou UserControl segurando a escrita TextBox
Após o InitializeComponent (); Fonte: https://stackoverflow.com/a/4811938/5750078
Exemplo:
fonte