'宣言 Public ReadOnly Property KeyActionMappings As TreeKeyActionMappings
public TreeKeyActionMappings KeyActionMappings {get;}
コントロールのデフォルトのキーボード動作は、UltraTree コントロールがインスタンス化されるときの TreeKeyActionMappings コレクションの内容によって決まります。デフォルトのマッピングを削除したり、カスタムのマッピングを追加したりすることで、キーボード動作を変更できます。
KeyActionMapping オブジェクトを変更、削除、または追加することで、コントロールのキーボード動作を変更できます。
次の表は、UltraTree コントロールのデフォルトのキーマッピングをリストしたものです。
| KeyCode | ActionCode | StateRequired | StateDisallowed | SpecialKeysRequired | SpecialKeysDisallowed | 
|---|---|---|---|---|---|
| 右 | NextNode | NodeHasChildren | InEdit, NodeExpandable, ActiveCell | なし | AltCtrl | 
| 左 | ParentNode | NodeChild | InEdit, NodeExpanded, ActiveCell | なし | AltCtrl | 
| Up | PrevNode | なし | InEdit, ActiveCell | なし | AltCtrl | 
| Down | NextNode | なし | InEdit, ActiveCell | なし | AltCtrl | 
| Home | FirstNode | なし | InEdit, ActiveCell | なし | AltCtrl | 
| End | LastNode | なし | InEdit, ActiveCell | なし | AltCtrl | 
| 右 | ExpandNode | NodeExpandable | InEdit, ActiveCell | なし | Alt | 
| 左 | CollapseNode | NodeExpanded | InEdit, ActiveCell | なし | Alt | 
| Prior | PageUp | なし | InEdit, ActiveCell | なし | AltCtrl | 
| Next | PageDown | なし | InEdit, ActiveCell | なし | AltCtrl | 
| Esc | ExitEditMode | InEdit | CellInEditMode | なし | Alt | 
| Enter | ExitEditModeAndSave | InEdit | CellInEditMode | なし | AltCtrl | 
| F2 | EnterEditMode | なし | InEdit, ActiveCell | なし | Alt | 
| F2 | ExitEditModeAndSave | InEdit | CellInEditMode | なし | Alt | 
| Multiply | ExpandAllNode | なし | InEdit, ActiveCell | なし | すべて | 
| Add | ExpandNode | NodeExpandable | InEdit, ActiveCell | なし | Alt | 
| Subtract | CollapseNode | NodeExpanded | InEdit, ActiveCell | なし | Alt | 
| Back | ParentNode | NodeChild | InEdit, ActiveCell | なし | AltCtrl | 
| Space | ToggleSelection | なし | InEdit, ActiveCell | Ctrl | Alt | 
| Space | ClearAllSelectedNodes | なし | InEdit, ActiveCell | なし | AltCtrl | 
| Space | SelectActiveNode | なし | InEdit, ActiveCell | なし | AltCtrl | 
| Space | ToggleCheckbox | IsCheckbox | InEdit, ActiveCell | なし | AltCtrl | 
| Space | CheckOptionButton | IsOptionButton | InEdit, ActiveCell | なし | AltCtrl | 
| Delete | DeleteNodes | なし | InEdit, ActiveCell | なし | AltCtrl | 
| 右 | ExpandNode | NodeExpandable | InEdit, ActiveCell | Ctrl | Alt | 
| 左 | CollapseNode | NodeExpanded | InEdit, ActiveCell | Ctrl | Alt | 
| Up | PrevNodeNoSelect | なし | InEdit, ActiveCell | Ctrl | Alt | 
| Down | NextNodeNoSelect | なし | InEdit, ActiveCell | Ctrl | Alt | 
| Home | FirstNodeNoSelect | なし | InEdit, ActiveCell | Ctrl | Alt | 
| End | LastNodeNoSelect | なし | InEdit, ActiveCell | Ctrl | Alt | 
| Prior | PageUpNoSelect | なし | InEdit, ActiveCell | Ctrl | Alt | 
| Next | PageDownNoSelect | なし | InEdit, ActiveCell | Ctrl | Alt | 
| X | Cut | AllowCut | InEdit, ActiveCell | Ctrl | AltShift | 
| C | Copy | AllowCopy | InEdit, ActiveCell | Ctrl | AltShift | 
| V | 貼り付け | AllowPaste | InEdit, ActiveCell | Ctrl | AltShift | 
| Delete | Cut | AllowCut | InEdit, ActiveCell | Shift | AltCtrl | 
| Insert | Copy | AllowCopy | InEdit, ActiveCell | Ctrl | AltShift | 
| Insert | 貼り付け | AllowPaste | InEdit, ActiveCell | Shift | AltCtrl | 
| 左 | NoAction | なし | InEdit, NodeChild, NodeExpanded, ActiveCell | なし | AltCtrl | 
| 右 | NoAction | なし | InEdit, NodeHasChildren, ActiveCell | なし | AltCtrl | 
| 左 | ParentNode | NodeChild, NodeExpanded | InEdit, NodeHasChildren, ActiveCell | なし | AltCtrl | 
| 右 | NextNode | ActiveCell, ActiveCellIsInLastLogicalColumn | CellInEditMode, NextNodeDisplaysCells | なし | すべて | 
| Down | NextNode | ActiveCell, ActiveCellIsOnLastLogicalRow | CellInEditMode, NextNodeDisplaysCells | なし | すべて | 
| 左 | PrevNode | ActiveCell, ActiveCellIsInFirstLogicalColumn | CellInEditMode, PreviousNodeDisplaysCells | なし | すべて | 
| Up | PrevNode | ActiveCell, ActiveCellIsOnFirstLogicalRow | CellInEditMode, PreviousNodeDisplaysCells | なし | すべて | 
| Home | FirstCellInNode | ActiveCell | CellInEditMode, FirstCellActive | なし | すべて | 
| End | LastCellInNode | ActiveCell | CellInEditMode, LastCellActive | なし | すべて | 
| Home | FirstCellInNodesCollection | FirstCellActive | CellInEditMode | なし | すべて | 
| End | LastCellInNodesCollection | LastCellActive | CellInEditMode | なし | すべて | 
| Home | FirstCellInTree | ActiveCell | CellInEditMode | Ctrl | AltShift | 
| End | LastCellInTree | ActiveCell | CellInEditMode | Ctrl | AltShift | 
| End | LastCellInTree | ActiveCell | CellInEditMode | Ctrl | AltShift | 
| 右 | NextCell | ActiveCell | CellInEditMode | なし | すべて | 
| 左 | PreviousCell | ActiveCell | CellInEditMode | なし | すべて | 
| Up | AboveCell | ActiveCell | CellInEditMode | なし | すべて | 
| Down | BelowCell | ActiveCell | CellInEditMode | なし | すべて | 
| F2 | EnterEditModeOnCell | ActiveCell | CellInEditMode | なし | すべて | 
| F2 | ExitEditModeOnCellSaveChanges | ActiveCell, CellInEditMode | なし | なし | すべて | 
| Esc | UndoCellEdit | ActiveCell, CellInEditMode | なし | なし | すべて | 
| Esc | UndoNodeEdit | HasNodeChangesPending | InEdit, CellInEditMode | なし | すべて | 
| Tab | SelectNextControl | LastCellActive, LastNodeActive | TabKeyNavigatesToNextCell, TabKeyNavigatesToNextControl | なし | すべて | 
| Tab | SelectPreviousControl | FirstCellActive, FirstNodeActive | TabKeyNavigatesToNextCell, TabKeyNavigatesToNextControl | Shift | AltCtrl | 
| Tab | NextCellEnterEditMode | ActiveCell | なし | なし | すべて | 
| Tab | PreviousCellEnterEditMode | ActiveCell | なし | Shift | AltCtrl | 
| Space | DeactivateCell | ActiveCell | CellInEditMode | Ctrl | AltShift | 
| Space | FirstCellInNode | ActiveNodeDisplaysCells | ActiveCell | Ctrl | AltShift | 
Imports Infragistics.Win.UltraWinTree Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim newAction As TreeKeyActionMapping ' ユーザーが ('Alt' キーを押さずに) 'X' キーを押したときに、 ' アクティブ ノードの展開状態を切り替えるために ' 2 つの KeyActionMappings を追加します ' 最初のマッピングは、展開可能なノードが ' 展開されていない状態で、編集モードではない場合、 ' ユーザーが 'X' キーを押すと、ノードを展開します newAction = New TreeKeyActionMapping( _ Keys.X, _ UltraTreeAction.ExpandNode, _ UltraTreeState.InEdit Or UltraTreeState.NodeExpanded, _ UltraTreeState.NodeExpandable, _ Infragistics.Win.SpecialKeys.Alt, _ 0) Me.ultraTree1.KeyActionMappings.Add(newAction) ' 最初のマッピングの状態は、ノードが展開されていて、 ' 編集モードでない場合にユーザーが 'X' キーを押すと、 ' ノードを縮小します newAction = New TreeKeyActionMapping( _ Keys.X, _ UltraTreeAction.CollapseNode, _ UltraTreeState.InEdit, _ UltraTreeState.NodeExpanded, _ Infragistics.Win.SpecialKeys.Alt, _ 0) Me.ultraTree1.KeyActionMappings.Add(newAction) End Sub
using System.Diagnostics; using Infragistics.Win.UltraWinTree; private void Form1_Load(object sender, System.EventArgs e) { // ユーザーが ('Alt' キーを押さずに) 'X' キーを押したときに、 // アクティブ ノードの展開状態を切り替えるために // 2 つの KeyActionMappings を追加します // 最初のマッピングは、展開可能なノードが // 展開されていない状態で、編集モードではない場合、 // ユーザーが 'X' キーを押すと、ノードを展開します this.ultraTree1.KeyActionMappings.Add( new TreeKeyActionMapping( // キー コード Keys.X, // 実行する操作 UltraTreeAction.ExpandNode, // 操作の実行が禁止される状態 UltraTreeState.InEdit | UltraTreeState.NodeExpanded, // 要求される状態 UltraTreeState.NodeExpandable, // 操作の実行が禁止される特別なキー Infragistics.Win.SpecialKeys.Alt, // 要求される特別なキー (なし) 0 ) ); // 最初のマッピングは、展開されているノードが // 編集モードではない場合に、ユーザーが 'X' キーを押すと、 // ノードを縮小します this.ultraTree1.KeyActionMappings.Add( new TreeKeyActionMapping( // キー コード Keys.X, // 実行する操作 UltraTreeAction.CollapseNode, // 操作の実行が禁止される状態 UltraTreeState.InEdit, // 要求される状態 UltraTreeState.NodeExpanded, // 操作の実行が禁止される特別なキー Infragistics.Win.SpecialKeys.Alt, // 必要な特別なキー (なし) 0 ) ); }