0

テキスト ボックス コントロールへのハンドルを取得し、Windows API を使用してテキストを変更するコードがあります。テキストが更新されても、TextChanged イベントは発生しません。

Windows API を使用して TextBox.TextChanged イベントを発生させる方法はありますか?

[更新]
イベントが発生しない理由は、テキスト ボックス ハンドルが DCOM インターフェイス経由で送信されるためだと思います。このプログラムは、C# で記述されたナショナル インスツルメンツの TestStand シェルであり、コア機能に NI TestStand COM オブジェクトを使用します。TS シーケンス ファイル (一種の TS スクリプト言語) で、テキスト ボックス ハンドルのオブジェクト参照を作成し、シェル フォームのロード イベントで TS API を使用して設定しました。その後、ハンドルを c# DLL に送信します。SendMessage を使用してテキスト ボックスを更新すると、うまくいきます。問題は、TextChanged イベントが発生しないことです。

TS インターフェイスを使用してテキスト ボックスと TextChanged デリゲートを送信しようとしましたが、うまくいきませんでした。TS COMオブジェクトを介してそれを行うAppDomainの問題があると思います。

4

2 に答える 2

0

変更しようとしているテキストはわかりませんが、PostMessages とキープレス (数字の場合) を組み合わせてテキスト ボックスに入力すると、TextChangedEvent がトリガーされます。

このの方法 2 を見てください。基本的に、マウスをテキストボックスをクリックしてから、必要なテキストのキープレスをテキストボックスに送信するように設定します(文字ごとに)。

于 2013-10-07T20:54:04.380 に答える