| ■4905 / ) |
日本語変換確定時のTextChangedイベントについて |
□投稿者/ M.K (24回)-(2007/06/28(Thu) 14:14:55)
|
分類:[C# (Windows)]
開発環境:WinXP SP2, VS2005(C#), .NET 2.0
いつもお世話になっております、M.Kと申します。
現在 TextBox を継承したカスタムコントロールを作成しており、そのコントロールの
TextChanged イベントにて、その時点で入力されているテキストを基に処理を行う様な
事を考えております。
そのコントロール(以降 TextBox とします)にIMEがOffの状態で文字が入力される場合
は問題無いのですが、IMEがOnの状態で入力文字が確定された場合にこちらが望む様な
動作をしてくれず困っております。
例えば TextBox の TextChanged イベントに以下の様なコードを記述した際に、IMEに
よって"あいうえお"と入力された文字が確定されると「あ」「あい」「あいう」「あい
うえ」「あいうえお」と合計5回も TextChanged イベントが発生してしまいます。
private void textBox1_TextChanged(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine(textBox1.Text);
}
これを「あいうえお」の1回だけで済ませたいのですが、何か良い方法は無いでしょうか?
IMM系のAPIやメッセージを使って出来るかなと思い、ImmGetCompositionString や
ImmNotifyIME を使ってみているのですが、確定直後の「あいうえお」を取得する事は
できても、5回発生する TextChanged イベントの制御はできていない状態です。
以上 宜しくお願い致します。
|
|