Focus() na caixa de Texto não funciona
Pergunta
Eu tenho um Formulário com um TextBox
em ti.Cada vez que as alterações de texto eu uso o TextChanged
Evento para criar um arquivo PDF de arquivo e carregá-lo para um AxAcroPDF
-Objeto no mesmo Formulário.Isso funciona bem, mas, em seguida, o TextBox
perde o foco e, por algum motivo, o textBox.Focus()
depois de carregar o arquivo não funciona.
Alguém tem idéia de como posso conseguir que você pode ir sobre a digitar enquanto refrescante PDF?
EDITAR:
eu tinha uma outra idéia, eu fiz um thread separado onde eu atualizar o PDF e no TextChanged
-evento eu só definir um sinalizador.Mas agora estou recebendo um erro estranho
Unable to cast COM object of type 'System.__ComObject' to interface type 'AcroPDFLib.IAcroAXDocShim'.
Solução 2
Eu estou tão envergonhado de mim mesmo, eu encontrei um muito, muito sujo hack, mas ele funciona...Eu fiz o seguinte:
Quando eu escrever um texto no MessageBox eu reescrever minha PDF em TextChange-Evento.No mesmo método que eu armazenamento de Controlo que tem o foco (ao realizar a chamada a LoadFile em PDF-Objeto este Controle ainda perde o foco).E agora o trabalho sujo que vem:Implementei uma Thread que constantemente define o foco para o Controle armazenado na variável.No Deixar-Evento do Texto eu redefinir a variável para outros controles não vai ser bloqueado.
Seu realmente um sujo hack eu sei, mas agora eu posso instantaneamente "editar" um pdf com a minha própria forma, que é um bom eyecandy ;)
Obrigado por toda a ajuda!
Outras dicas
Tente este:
textBox.Select();
textBox.Focus();
Eu não conseguia .Focus() e .Select() para o trabalho, então eu usei com lightbox e ele funciona perfeitamente.
$(document).ready(function () {
setTimeout(function () {
$(".contentWrapper input")[0].focus();
}, 100);
});