タブキーやEnterキーの動作を変更する

広告

テキストボックス上でタブキーやEnterキーを押した場合の動作を変更します。

テキストボックスにフォーカスがある時にタブキーやEnterキーを押すとデフォルトでは次のコントロールにフォーカスが移動します。その為、テキストボックス内でタブキーを入力したい場合や複数行表示が可能になっている時に任意の場所で改行したい時にはキーの動作を変更する必要があります。

テキストボックスでタブキーが押された時の動作を変更するには「TabKeyBehavior」プロパティを使います。

編集領域の中で、タブ文字を許可するかどうかを設定します。

引数:
  object  設定するオブジェクトを指定します。
  Boolean  Tab キーを押した場合の動作を指定します。

「True」を設定するとTabキーが押された時にタブ文字が挿入されます。「False」を設定するとタブオーダーの次のオブジェクトにフォーカスが移ります。デフォルトの値は「False」です。

次にEnterキーが押された時の動作を変更するには「EnterKeyBehavior」プロパティを使います。

テキストボックスコントロールにフォーカスがあるときに、Enter キーを押
した場合の動作を設定します。

引数:
  object  設定するオブジェクトを指定します。
  Boolean  Enter キーを押したときの動作を指定します。

「True」を設定するとEnterキーが押された時に改行します。「False」を設定するとタブオーダーの次のオブジェクトにフォーカスが移ります。デフォルトの値は「False」です。

「EnterKeyBehavior」プロパティの設定は「MultiLine」プロパティに「True」が設定されている場合だけ有効です。

実際の使い方としては次のようになります。

sampleForm.nameText.TabKeyBehavior = True
sampleForm.nameText.MultiLine = True
sampleForm.nameText.EnterKeyBehavior = True

サンプルプログラム

では簡単なサンプルで試してみましょう。

testTextbox7.bas

Sub テスト()
    Load sampleForm
    sampleForm.nameText.MultiLine = True
    sampleForm.nameText.TabKeyBehavior = True
    sampleForm.nameText.EnterKeyBehavior = True
    sampleForm.Show
End Sub

上記マクロを実行すると次のように表示されます。適当に文字を入力して下さい。

タブキーとEnterキーの挙動の変更

この状態でタブキーを押すとタブ文字が挿入されます。

タブキーとEnterキーの挙動の変更

また任意の場所でEnterキーを押すと、その位置で改行することが出来ます。

タブキーとEnterキーの挙動の変更

プロパティウィンドウで値を指定する

「TabKeyBehavior」プロパティや「EnterKeyBehavior」プロパティについてはプロパティウィンドウで指定が出来ますので、値が決まっている場合は設計の時点で設定をしておくことも可能です。例として「TabKeyBehavior」プロパティについて設定してみます。プロパティウィンドウの「TabKeyBehavior」の箇所の右側にある下矢印をクリックして値を選択して下さい。

タブキーとEnterキーの挙動の変更

( Written by Tatsuo Ikura )