MESCIUS InputMan for WPF 3.0J > InputMan for WPF の使い方 > テキストコントロール > キーボード操作 |
このトピックでは、テキストコントロールのキーボードおよびマウス操作について解説します。
テキストコントロールには、次の3つの独自機能があります。
自動フォーカス移動
ExitOnLastChar プロパティを True に設定すると、入力された文字列が MaxLength プロパティで設定した最大文字数に達したときに、自動的に次のコントロールへフォーカスを移動できます。
矢印キーによるフォーカス移動
ExitOnLeftRightKey プロパティを ExitOnLeftRightKey.None 以外の値に設定すると、キャレットがコントロール内のテキストの最初または最後の文字上にある状態で、[→]、[←]、または[Ctrl]+[→]、[Ctrl]+[←]の各キーを押したときに、フォーカスを前後のコントロールに移動することができます。
キー入力によるフォーカス移動の検出
[→]、[←]、[Ctrl]+[→]、[Ctrl]+[←]、[Tab]、[Shift]+[Tab]の各キーを使用して、フォーカスを前後のコントロールに移動したときには、LostFocus イベントの前に KeyExit イベントが発生します。
ショートカットコマンドを使ってコントロールの機能を特定のキーに割り当てた場合、それらのキーに割り当てられていたデフォルトの機能は動作しなくなります。 また、以下のプロパティの設定内容によって、キーボードを操作したときの動作が異なります。詳しくは、各プロパティのリファレンスを参照してください。 |
WPF ブラウザアプリケーションの場合、ブラウザによってはショートカットキーとして特定のキーに対してブラウザ独自の機能が割り当てられていることがあります。この場合、コントロールのショートカットコマンドよりもブラウザのショートカットキーの動作が優先されます。 |
操作 | 説明 |
---|---|
[←] | 1つ前の文字にキャレットを移動します。選択された部分がある場合は、選択が解除されてその部分の左端にキャレットが置かれます。 |
[→] | 次の文字にキャレットを移動します。選択された部分がある場合は、選択が解除されてその部分の右端にキャレットが置かれます。 |
[↑] | 複数行の場合 次の行の隣接する文字にキャレットを移動します。隣接する文字が存在しない場合は、キャレットは次の行の先頭または末尾に置かれます。コントロール内にテキストが1行しかない場合、このキーは無効です。 単一行の場合 [→]キーと同様にはたらきます。 |
[↓] | 複数行の場合 次の行の隣接する文字にキャレットを移動します。隣接する文字が存在しない場合は、キャレットは次の行の先頭または末尾に置かれます。コントロール内にテキストが1行しかない場合、このキーは無効です。 単一行の場合 [→]キーと同様にはたらきます。 |
[Ctrl]+[←] | 現在の、または1つ前の単語の先頭にキャレットを移動します。選択された部分がある場合は、選択が解除されてその部分の左端にキャレットが置かれます。 |
[Ctrl]+[→] | 次の単語の先頭にキャレットを移動します。選択された部分がある場合は、選択が解除されてその部分の右端にキャレットが置かれます。 |
[Home] | 行の先頭にキャレットを移動します。 |
[End] | 行の末尾にキャレットを移動します。 |
[Ctrl]+[Home] | コントロール内のテキストの先頭にキャレットを移動します。 |
[Ctrl]+[End] | コントロール内のテキストの末尾にキャレットを移動します。 |
[PageUp] | 複数行の場合 コントロール内のテキストの先頭にキャレットを移動します。 単一行の場合 無効です。 |
[PageDown] | 複数行の場合 コントロール内のテキストの末尾にキャレットを移動します。 単一行の場合 無効です。 |
操作 | 説明 |
---|---|
[Shift]+[←] | 1つ前の文字を選択します。 |
[Shift]+[→] | 次の文字を選択します。 |
[Shift]+[↑] | 現在のキャレット位置から前の行の隣接する文字までを選択します。 |
[Shift]+[↓] | 現在のキャレット位置から次の行の隣接する文字までを選択します。 |
[Shift]+[PageUp] | 現在のキャレット位置から1つ前のスクロール位置までスクロールした際のキャレット位置までを選択します。 |
[Shift]+[PageDown] | 現在のキャレット位置から次のスクロール位置までスクロールした際のキャレット位置までを選択します。 |
[Ctrl]+[Shift]+[←] | 現在のキャレット位置から、現在または1つ前の単語の先頭までを選択します。 |
[Ctrl]+[Shift]+[→] | 現在のキャレット位置から現在の単語の末尾までを選択します。 |
[Shift]+[Home] | 現在のキャレット位置から行の先頭までを選択します。 |
[Shift]+[End] | 現在のキャレット位置から行の末尾までを選択します。 |
[Ctrl]+[Shift]+[Home] | 現在のキャレット位置からコントロール内のテキストの先頭までを選択します。 |
[Ctrl]+[Shift]+[End] | 現在のキャレット位置からコントロール内のテキストの末尾までを選択します。 |
[Shift]+クリック | 現在のキャレット位置からクリックした位置までを選択します。 |
ダブルクリック | ダブルクリックした単語を選択します。 |
クリック+ドラッグ | マウスでドラッグした範囲内の単語を選択します。 |
操作 | 説明 |
---|---|
[Del] | 次の文字を削除します。選択された部分や上書きモードで点滅しているブロックカーソルの位置にある文字は最初に削除されます。 |
[BackSpace] | 1つ前の文字を削除します。選択された部分や上書きモードで点滅しているブロックカーソルの位置にある文字は最初に削除されます。 |
[Ctrl]+[Del] | 現在のキャレット位置から次の単語の先頭までを削除します。選択されたテキストは最初に削除されます。 |
[Ctrl]+[BackSpace] | 現在のキャレット位置から現在の単語まで、または1つ前の単語の先頭までを削除します。選択されたテキストは最初に削除されます。 |
[Ctrl]+[C] | 選択されたテキストをクリップボードにコピーします。 |
[Ctrl]+[V] | クリップボードのテキストをコントロールに貼り付けます。 |
[Ctrl]+[X] | 選択されたテキストを切り取り、クリップボードにコピーします。 |
[Ctrl]+[A] | コントロールに含まれるすべての内容を選択します。 |
[Ctrl]+[Z] | 編集前またはフォーカス取得時の値に戻します。 |
[Ctrl]+[Ins] | 選択されたテキストをクリップボードにコピーします。 |
[Shift]+[Del] | 選択されたテキストを切り取り、クリップボードにコピーします。 |
[Shift]+[Ins] | クリップボードのテキストをコントロールに貼り付けます。 |
[Shift]+[Enter] | 複数行の場合 AcceptsReturn プロパティが True に設定されている場合は、改行文字(CR+LF)を挿入します。 単一行の場合 無効です。 |
[Enter] | 複数行の場合 AcceptsReturn プロパティが True に設定されている場合は、改行文字(CR+LF)を挿入します。 単一行の場合 無効です。 |
テキストコントロールの Multiline プロパティを True に設定しているときには、マウスのスクロール機能が有効になります。コントロールにフォーカスがある状態でホイールを回転するごとに、コントロールの内容が垂直方向にスクロールします。