自作ソフトの開発日記

自分用に作ったソフトの配布や、作成時に知ったことのメモを残していきます

[C#]複数のテキストボックスでtabキーを押した時に全選択する方法[メモ]

f:id:S-Parakeet5488:20170517025940j:plain
こういった複数入力するテキストボックスがあるソフトを作る際、
入力しようとしたテキストボックスに既に文字があると、いちいち文字を消さないといけない。


それを解消するために色々調べた結果、
「tabキーで他のテキストボックスに移った際に、すでに文字列があった場合、全選択された状態にする」
という方法が見つかった。

方法は

private void textBox1_Enter(object sender, EventArgs e)
        {
            textBox1.SelectAll();
        }

というコードを追加するだけ。(だけではない)


Visual Studioでソフトを作っていると、調べたコードをコピペしてもエラーが出たり何も起こらなかったりする。
そういう時はおおよその場合、やるべき事が出来ていない。

今回の場合は「イベント」に登録(?)しないと、ちゃんと動作してくれない。

登録するには、テキストボックスを選択した状態で
フォームエディタの画面の右下、①の雷マークをクリックし、
②の「フォーカス」にある「Enter」をダブルクリックする
f:id:S-Parakeet5488:20170517033140j:plain

するとコード編集画面に移行するので、そこの中に

textBox1.SelectAll();

を記述するだけで良い。

この状態ではtextBox1に移動した時だけ文字が全選択されるので、他のテキストボックスにも同じ作業をする必要がある。


参考:方法 : TextBox コントロールにフォーカスを設定する