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'.
.

È stato utile?

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);
});
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top