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'.
Foi útil?

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);
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top