タイトル : Re: テキストボックスの全角カナの複数文字を半角にしたい 投稿日 : 2018/03/10(Sat) 19:04 投稿者 : jikoryuu
TextChangedイベントで内容を変更してしまうとキャレットカーソルが文字の先頭になってしまいまうのが原因のようです プレーンテキスト(IMEを使わない)でアルファベットを入力しても同じことが起きます これを回避するには txt.SelectionStart = Len(txt.Text) とすると文字の最後にキャレットカーソルが移動し順番に表示されると思います ※しかし再変換や既にある文字の途中で文字を挿入しようとすると問題が発生します このような問題があるためにTextChangedイベントでは入力更生やデータチェックに留めておいて 文字変換を行う場合は通常はValidatedイベントで行います Validatedイベントはロストフォーカスの前に発生して文字のチェック(入力更生)を行い エラーがあれば再入力を促すときなどに使います こちらのイベントを使うことをお勧めします |