キーボード操作 |
このトピックでは、数値コントロールのキーボード操作について解説します。
数値コントロールには、次の2つの独自機能があります。
ExitOnLeftRightKey プロパティを ExitOnLeftRightKey.None 以外の値に設定すると、キャレットがコントロール内のテキストの最初または最後の文字上にある状態で、[→]、[←]、または[Ctrl]+[→]、[Ctrl]+[←]の各キーを押したときに、フォーカスを前後のコントロールに移動することができます。
[→]、[←]、[Ctrl]+[→]、[Ctrl]+[←]、[Tab]、[Shift]+[Tab]の各キーを使用して、フォーカスを前後のコントロールに移動したときには、LostFocus イベントの前に KeyExit イベントが発生します。
注意 |
---|
ショートカットコマンドを使ってコントロールの機能を特定のキーに割り当てた場合、それらのキーに割り当てられていたデフォルトの機能は動作しなくなります。 |
注意 |
---|
WPF ブラウザアプリケーションの場合、ブラウザによってはショートカットキーとして特定のキーに対してブラウザ独自の機能が割り当てられていることがあります。この場合、コントロールのショートカットコマンドよりもブラウザのショートカットキーの動作が優先されます。 |
数値コントロールの表示領域は、通常、リテラル文字列と入力フィールドの2種類に分かれています。
数値コントロールのナビゲーションや選択などの操作は、リテラル文字列と入力フィールドの位置関係による影響を受けます。これらの操作に関する説明を以下にまとめます。
操作 | 説明 |
---|---|
[←] | 1つ前の非リテラル文字または行の先頭にキャレットを移動します。選択された部分がある場合は、選択が解除されてその部分の左端にキャレットが置かれます。 |
[→] | 次の非リテラル文字または行の末尾にキャレットを移動します。選択された部分がある場合は、選択が解除されてその部分の右端にキャレットが置かれます。 |
[↑] | SpinIncrement プロパティあるいは SpinIncrementValue プロパティで設定した値を単位として、キャレットが現在置かれているフィールドの値を増加させます。キャレットがリテラル文字列内に置かれているときには、操作は無視されます。 |
[↓] | SpinIncrement プロパティあるいは SpinIncrementValue プロパティで設定した値を単位として、キャレットが現在置かれているフィールドの値を減少させます。キャレットがリテラル文字列内に置かれているときには、操作は無視されます。 |
[Ctrl]+[←] | 現在のまたは1つ前の入力フィールドの先頭か、行の先頭にキャレットを移動します。選択された部分がある場合は、選択が解除されてその部分の左端にキャレットが置かれます。 |
[Ctrl]+[→] | 次の入力フィールドまたは行の末尾にキャレットを移動します。選択された部分がある場合は、選択が解除されてその部分の右端にキャレットが置かれます。 |
[Home] | 最初の入力フィールドの先頭または行の先頭にキャレットが移動します。 |
[End] | 最後の入力フィールドの終了位置または行の末尾にキャレットを移動します。 |
[Ctrl]+[Home] | コントロール内のテキストの先頭にキャレットを移動します。 |
[Ctrl]+[End] | コントロール内のテキストの末尾にキャレットを移動します。 |
[Tab]または[Shift]+[Tab] | タブオーダーの設定に応じてそのフォーム上の前または次のコントロールにフォーカスが移動します。 |
メモ |
---|
スピンボタンが有効になっている場合、コントロールにフォーカスがある状態でマウスホイールを操作すると、[↑]キーまたは[↓]キーを押したときと同じ動作を実現できます。ただし、ドロップダウン電卓が表示されている場合は、マウスホイールでスピンボタンを操作することはできません。 |
操作 | 説明 |
---|---|
[Shift]+[←] | 1つ前の文字を選択します。上書きモードでは、点滅しているブロックカーソルの1つ前にある文字が最初に選択されます。 |
[Shift]+[→] | 次の文字を選択します。上書きモードでは、点滅しているブロックカーソルの位置にある文字が最初に選択されます。 |
[Ctrl]+[Shift]+[←] | 現在のキャレット位置から現在または1つ前のフィールドの先頭位置まで、もしくは行の先頭までを選択します。上書きモードでは、点滅しているブロックカーソルの位置にある文字は選択されません。 |
[Ctrl]+[Shift]+[→] | 現在のキャレット位置から次のフィールドの先頭まで、または行の末尾までを選択します。上書きモードでは、点滅しているブロックカーソルの位置にある文字も選択されます。 |
[Shift]+[Home] | 現在のキャレット位置から最初の非リテラル文字列の先頭まで、または行の先頭までを選択します。上書きモードでは、点滅しているブロックカーソルの位置にある文字は選択されません。 |
[Shift]+[End] | 現在のキャレット位置から最後の非リテラル文字列の末尾まで、または行の末尾までを選択します。上書きモードでは、点滅しているブロックカーソルの位置にある文字も選択されます。 |
[Ctrl]+[Shift]+[Home] | 現在のキャレット位置から行の先頭までを選択します。上書きモードでは、点滅しているブロックカーソルの位置にある文字は選択されません。 |
[Ctrl]+[Shift]+[End] | 現在のキャレット位置から行の末尾までを選択します。上書きモードでは、点滅しているブロックカーソルの位置にある文字も選択されます。 |
[Shift]+クリック | 現在のキャレット位置からクリックした位置までを選択します。 |
ダブルクリック | ダブルクリックしたフィールドを選択します。 |
クリック+ドラッグ | マウスでドラッグした範囲を選択します。 |
[Shift]+ダブルクリック | 現在のキャレット位置からダブルクリックしたフィールドまでを選択します。 |
[Ctrl]+クリック | コントロールに含まれるすべての内容を選択します。 |
操作 | 説明 |
---|---|
[Del] | 次の非リテラル文字を削除します。削除できるのは、入力フィールド内の文字だけです。選択された部分や上書きモードで点滅しているブロックカーソルの位置にある文字は最初に削除されます。 |
[-] | 数値の値が正数の場合は負数にします。 |
[+] | 数値の値が負数の場合は正数にします。 |
[BackSpace] | 1つ前の非リテラル文字を削除します。選択された部分は最初に削除されるので注意してください。 |
[Ctrl]+[Del] | 現在のキャレット位置から入力フィールドの最後の文字までを削除します。キャレットがリテラル文字列に位置している場合、削除はできません。選択された部分は最初に削除されるので注意してください。 |
[Ctrl]+[BackSpace] | 現在のキャレット位置と現在または1つ前の入力フィールドの先頭との間にある文字を削除します。選択された部分は最初に削除されるので注意してください。 |
[Ctrl]+[C] | 選択されたテキストをクリップボードにコピーします。 |
[Ctrl]+[V] | クリップボードのテキストをコントロールに貼り付けます。 |
[Ctrl]+[X] | 選択されたテキストを切り取り、クリップボードにコピーします。 |
[Ctrl]+[A] | コントロールに含まれるすべての内容を選択します。 |
[Ctrl]+[Z] | 編集前またはフォーカス取得時の値に戻します。 |
[Ctrl]+[Ins] | 選択されたテキストをクリップボードにコピーします。 |
[Shift]+[Del] | 選択されたテキストを切り取り、クリップボードにコピーします。SelectionLength が0のときは、[BackSpace]キーと同じ処理が行われます。 |
[Shift]+[Ins] | クリップボードのテキストをコントロールに貼り付けます。 |