1

が含まれているフォームがありますTextBox。テキストが変更されるたびに、TextChangedイベントを使用してPDFファイルを作成AxAcroPDFし、同じフォームの-Objectにロードします。これは正常に機能しますが、TextBoxフォーカスが失われ、何らかの理由でtextBox.Focus()ファイルのロード後に機能しなくなります。

PDFを更新しながら入力を続けることができるように私がどのように手配できるか誰かが考えていますか?

編集:

私は別のアイデアを思いつきました。PDFを更新する別のスレッドを作成し、TextChanged-eventではフラグを設定するだけです。しかし今、私は奇妙なエラーを取得しています

Unable to cast COM object of type 'System.__ComObject' to interface type 'AcroPDFLib.IAcroAXDocShim'.
4

3 に答える 3

4

これを試してください:

textBox.Select();
textBox.Focus();
于 2012-10-02T08:36:08.863 に答える
1

私は自分自身をとても恥ずかしく思っています。本当に、本当に汚いハックを見つけましたが、うまくいきます...私は次のことをしました:

MessageBox にテキストを書き込むと、TextChange-Event で PDF を書き換えます。同じメソッドで、フォーカスのあるコントロールを保存します (PDF オブジェクトで LoadFile を呼び出すと、このコントロールはまだフォーカスを失います)。そして、汚い作業が始まります。変数に格納されているコントロールに常にフォーカスを設定するスレッドを実装しました。TextBox の Leave-Event で変数をリセットして、他のコントロールがブロックされないようにします。

それは私が知っている本当に汚いハックですが、今では自分のフォームでPDFを即座に「編集」できます。

助けてくれてありがとう!

于 2012-10-02T12:23:33.987 に答える