Frage

Ich habe ein Formular mit einem TextBox drin.Jedes Mal, wenn sich der Text ändert, verwende ich das TextChanged Ereignis zum Erstellen einer PDF-Datei und zum Laden dieser in eine AxAcroPDF-Objekt in der gleichen Form.Das funktioniert gut, aber dann TextBox verliert den Fokus und aus irgendeinem Grund die textBox.Focus() Nach dem Laden funktioniert die Datei nicht.

Hat jemand eine Idee, wie ich dafür sorgen kann, dass Sie beim Aktualisieren des PDFs weiter tippen können?

BEARBEITEN:

Ich hatte eine andere Idee, ich habe einen separaten Thread erstellt, in dem ich das PDF aktualisiere und in dem TextChanged-event Ich habe nur ein Flag gesetzt.Aber jetzt erhalte ich eine seltsame Fehlermeldung

Unable to cast COM object of type 'System.__ComObject' to interface type 'AcroPDFLib.IAcroAXDocShim'.
War es hilfreich?

Lösung 2

Ich schäme mich so sehr, ich habe einen wirklich, wirklich schmutzigen Hack gefunden, aber er funktioniert ...Ich habe Folgendes gemacht:

Wenn ich einen Text in die MessageBox schreibe, schreibe ich mein PDF im TextChange-Event um.In der gleichen Methode speichere ich das Control, das den Fokus hat (beim Aufruf der LoadFile auf dem PDF-Objekt verliert dieses Control immer noch den Fokus).Und jetzt kommt die Drecksarbeit:Ich habe einen Thread implementiert, der den Fokus ständig auf das in der Variablen gespeicherte Control setzt.Im Leave-Event der TextBox habe ich die Variable zurückgesetzt, damit andere Steuerelemente nicht blockiert werden.

Ich weiß, es ist ein wirklich schmutziger Hack, aber jetzt kann ich ein PDF sofort mit meinem eigenen Formular „bearbeiten“, was ein schöner Augenschmaus ist ;)

Vielen Dank für all die Hilfe!

Andere Tipps

Probier diese:

textBox.Select();
textBox.Focus();

Ich konnte .Focus() und .Select() nicht zum Laufen bringen, also habe ich Jquery verwendet und es funktioniert perfekt.

$(document).ready(function () {
    setTimeout(function () {
        $(".contentWrapper input")[0].focus();
    }, 100);
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top