作成日: 2024/01/31 最終更新日: 2024/01/31
文書種別
使用方法
詳細
編集用コントロールのKeyDownイベント内で、適当なアクションを実行することで、GcMultiRowコントロールのショートカットキーと同じアクションを実行することができます。
以下のサンプルコードでは、ComboBoxCellが編集状態の場合に、PageUp、PageDownキーでGcMultiRowコントロールのページ移動を行うようにしています。
[Visual Basic]
[C#]
以下のサンプルコードでは、ComboBoxCellが編集状態の場合に、PageUp、PageDownキーでGcMultiRowコントロールのページ移動を行うようにしています。
[Visual Basic]
Imports GrapeCity.Win.MultiRow Private Sub GcMultiRow1_EditingControlShowing(ByVal sender As Object, ByVal e As GrapeCity.Win.MultiRow.EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing If TypeOf e.Control Is ComboBoxEditingControl Then ' 編集用コントロールがComboBoxEditingControlの場合、KeyDownイベントを設定します。 RemoveHandler e.Control.KeyDown, AddressOf editor_KeyDown AddHandler e.Control.KeyDown, AddressOf editor_KeyDown End If End Sub Private Sub editor_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) If e.KeyCode = Keys.PageUp Then ' 編集用コントロールでPageUpキーが押下された場合 ' 既定の動作をキャンセルします。 e.Handled = True ' 前のページに移動します。 SelectionActions.MoveToPreviousPage.Execute(DirectCast(sender, IEditingControl).GcMultiRow) ElseIf e.KeyCode = Keys.PageDown Then ' 編集用コントロールでPageDownキーが押下された場合 ' 既定の動作をキャンセルします。 e.Handled = True ' 次のページに移動します。 SelectionActions.MoveToNextPage.Execute(DirectCast(sender, IEditingControl).GcMultiRow) End If End Sub
[C#]
using GrapeCity.Win.MultiRow;
private void gcMultiRow1_EditingControlShowing(object sender, EditingControlShowingEventArgs e)
{
if (e.Control is ComboBoxEditingControl)
{
// 編集用コントロールがComboBoxEditingControlの場合、KeyDownイベントを設定します。
e.Control.KeyDown -= new KeyEventHandler(Editor_KeyDown);
e.Control.KeyDown += new KeyEventHandler(Editor_KeyDown);
}
}
private void Editor_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.PageUp)
{
// 編集用コントロールでPageUpキーが押下された場合
//' 既定の動作をキャンセルします。
e.Handled = true;
// 前のページに移動します。
SelectionActions.MoveToPreviousPage.Execute(((IEditingControl)sender).GcMultiRow);
}
else if(e.KeyCode == Keys.PageDown)
{
//編集用コントロールでPageDownキーが押下された場合
// 既定の動作をキャンセルします。
e.Handled = true;
// 次のページに移動します。
SelectionActions.MoveToNextPage.Execute(((IEditingControl)sender).GcMultiRow);
}
}