C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 14 を表示中)
■4944 / )  Re[2]: 日本語変換確定時のTextChangedイベントについて
□投稿者/ M.K (26回)-(2007/06/29(Fri) 11:37:57)
No4940 (y4yama さん) に返信

> IMEがOffの状態でも、a,ab,abc,abcd..とtextBox1_TextChanged が一文字毎に発生しますよね?
> それが問題ないのは、なぜ? とつまらない疑問を持ちました

少し自作コントロールの仕様をお話しますと、今回要求されている機能の1つに独自スタイルの
オートコンプリート機能があります。

これは入力された文字をもとに内部にあるデータにフィルタリングを行い、該当するデータの一覧
をリストに表示するといった機能でして、イメージとして Google 等で検索を行おうとした際に
過去の検索条件や予想される検索条件を補完してドロップリストに表示する様な機能です。

ただのオートコンプリートであれば TextBox の標準機能で実現可能なのですが、フィルタリング
が特殊なのと、表示されるドロップリストを独自スタイルにする必要が有った為、見よう見まねで
組み込みを行っている次第です。


話を戻しますが、IMEがOffの場合は「入力確定」と言う操作が無いのでTextChangedイベントで逐次
フィルタリングを行うしかないのですが、IMEがOnの場合は「あいうえお」とユーザーが入力して
「入力確定」をした以上、「あいうえお」を1つの入力単位としてフィルタリングを行うのが自然
と考えて質問した次第です。

またフィルタリングもデータ量が多くなると相応の時間が掛かりますので、不要な処理を避ける為
にも「あ」「あい」「あいう」「あいうえ」の場合はスルーして「あいうえお」だけで処理したい
と言うのも有ります。

返信 編集キー/


管理者用

- Child Tree -