Enterでカーソル移動


てつ  2013-02-02 14:10:41  No: 103396  IP: [192.*.*.*]

Enterキーを押して、次のテキストボックスにセットフォーカスしています。

画面には
IDを入れるテキストボックス
名前を入れるテキストボックス
住所を入れるテキストボックス
電話番号を入れるテキストボックス
を配置しています。

ただ、住所を入れるテキストボックスは2行以上入れることができるようにしているので、住所から電話番号にセットフォーカスできないです。
住所の2行目にカーソルが移動してしまいます。

住所の2行目の入力なのか、電話番号へのカーソル移動なのか判断できないんです。

このようなとき、どうされているのか教えてもらえないでしょうか?

宜しくお願いします。

編集 削除
とくま  2013-02-04 14:55:03  No: 103397  IP: [192.*.*.*]

Excel では他のキー(AltやCtrl)との組合せで制御してますよね。

編集 削除
魔界の仮面弁士  2013-02-06 17:26:50  No: 103398  IP: [192.*.*.*]

> 住所の2行目の入力なのか、電話番号へのカーソル移動なのか判断できないんです。

住所1 と 住所2 で、別のテキストボックスを使っている、ということでしょうか。

もし、住所2の利用頻度が低いのであれば、「Enter 移動は電話番号」にしておき、
「Tab 移動は 住所2」のように、違うキー割り当てで判断するという手があります。

利用頻度に差が無く、キー割り当ても変更したくないのであれば、
そもそも判断のしようがないので、二連 Enter で移動してもらうといった
運用回避で対処いただくことになると思います。




それとも、住所欄が複数行入力可能な一つのテキストボックスの場合の話でしょうか?

だとしたら、複数行テキストボックスでは Enter 移動を行わせないという仕様に
してしまうか、もしくはとくまさんも書かれているように、他のキーとの
組み合わせで区別するという手が使われているようです。
Excel のセル入力時の Alt + Enter のように。

この複数行入力可能なテキストボックスについていえば、一応、Windows 標準では
[Ctrl] + [J] あるいは [Ctrl] + [M] にて改行を挿入できるようになっています。
まぁ、あまり分かりやすいキーの組み合わせでは無いですけれどね。

# Ctrl + J は、Excel の検索ダイアログで、改行入り文字列の
# 検索をする際に使われたりもします。

  Ctrl + H  …  BackSpace
  Ctrl + I  …  水平タブ
  Ctrl + J  …  改行(本来は Lf だが CrLf が入る)
  Ctrl + M  …  改行(本来は Cr だが CrLf が入る)

Microsoft 製の IME の場合、漢字入力中は、Ctrl + J と Ctrl + M とで
動作が若干異なります。設定を変更すれば同じにもできますが。


それ以外では、「Ctrl + Enter」を改行に割り当てるケースがありますね。
一般的かどうかは分かりませんが、当方では時々使っています。

ちなみに Word では、Enterで「段落」、Ctrl + Enter で「改ページ」、
そして Shift + Enter または Alt + Enter で「改行」ですね。

編集 削除