Focus () su TextBox non funziona
Domanda
Ho un modulo con un TextBox
in esso.Ogni volta che cambiano il testo, utilizzo l'evento TextChanged
per creare un file PDF e caricarlo su un oggetto AxAcroPDF
nello stesso modulo.Funziona bene, ma poi il TextBox
perde la messa a fuoco e per qualche motivo il textBox.Focus()
dopo aver caricato il file non funziona.
Qualcuno ha idee come posso organizzare che puoi continuare a digitare mentre si aggiorna il PDF?
Modifica:
Ho avuto un'altra idea, ho fatto un thread separato in cui aggiorno il PDF e nell'evento TextChanged
-Event ho impostato solo un flag.Ma ora sto ottenendo uno strano errore
.Unable to cast COM object of type 'System.__ComObject' to interface type 'AcroPDFLib.IAcroAXDocShim'.
Soluzione 2
Sono così vergognoso di me stesso, ho trovato un hack davvero sporco, ma funziona ... Ho fatto quanto segue:
Quando scrivo un testo nel MessageBox I Riscrivi il mio PDF nell'evento TextChange-Event.Nello stesso metodo immagazzino il controllo che ha focus (quando si chiama il carico del carico sull'oggetto PDF questo controllo perde ancora la messa a fuoco).E ora il lavoro sporco arriva: ho implementato un thread che imposta costantemente la messa a fuoco sul controllo memorizzato nella variabile.Nell'evento di congedo della casella di testo ripristinare la variabile, quindi gli altri controlli non saranno bloccati.
È un hack davvero sporco che conosco, ma ora posso istantaneamente "modificare" un PDF con la mia forma, che è un bel eyecandy;)
Grazie per tutto l'aiuto!
Altri suggerimenti
Prova questo:
textBox.Select();
textBox.Focus();
. Non potrei ottenere .Focus () e .Select () per funzionare così ho usato jQuery e funziona perfettamente.
$(document).ready(function () {
setTimeout(function () {
$(".contentWrapper input")[0].focus();
}, 100);
});
.