tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: テキストボックスの全角カナの複数文字を半角にしたい
投稿日: 2018/03/10(Sat) 19:04
投稿者jikoryuu
TextChangedイベントで内容を変更してしまうとキャレットカーソルが文字の先頭になってしまいまうのが原因のようです
プレーンテキスト(IMEを使わない)でアルファベットを入力しても同じことが起きます

これを回避するには

txt.SelectionStart = Len(txt.Text)

とすると文字の最後にキャレットカーソルが移動し順番に表示されると思います
※しかし再変換や既にある文字の途中で文字を挿入しようとすると問題が発生します

このような問題があるためにTextChangedイベントでは入力更生やデータチェックに留めておいて
文字変換を行う場合は通常はValidatedイベントで行います

Validatedイベントはロストフォーカスの前に発生して文字のチェック(入力更生)を行い
エラーがあれば再入力を促すときなどに使います

こちらのイベントを使うことをお勧めします

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。