作成日: 2017/08/25 最終更新日: 2017/08/25
文書種別
使用方法
詳細
ShortcutKeysプロパティにショートカットキーを登録すると、アプリケーション全体で使用されるショートカットキーを設定することができます。しかし、アプリケーション全体で有効になるため、ShortcutKeyDownイベントがフォームのアクティブ・非アクティブに関わらず発生します。
アクティブなフォームでのみショートカットキーを有効にするには、ShortcutKeyDownイベントの中でフォームの状態を判断し、アクティブな状態のときのみ処理を実行します。
[Visual Basic]
[C#]
アクティブなフォームでのみショートカットキーを有効にするには、ShortcutKeyDownイベントの中でフォームの状態を判断し、アクティブな状態のときのみ処理を実行します。
[Visual Basic]
Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' ショートカットキーを設定します。 GcShortcut1.ShortcutKeys.Add( Keys.E Or Keys.Control ) End Sub Private Sub GcShortcut1_ShortcutKeyDown( ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles GcShortcut1.ShortcutKeyDown ' フォームがアクティブな状態のときだけメッセージボックスを表示します。 If Me Is Form.ActiveForm ' メッセージボックスを表示します。 MessageBox.Show( "Ctrl + E" ) ' イベント処理を終了します。 e.Handled = True End If End Sub
[C#]
private void Form1_Load( object sender, EventArgs e )
{
// ショートカットキーを設定します。
gcShortcut1.ShortcutKeys.Add( Keys.E | Keys.Control );
}
private void gcShortcut1_ShortcutKeyDown( object sender, KeyEventArgs e )
{
// フォームがアクティブな状態のときだけメッセージボックスを表示します。
if( this == Form.ActiveForm )
{
// メッセージボックスを表示します。
MessageBox.Show( "Ctrl + E" );
// イベント処理を終了します。
e.Handled = true;
}
}
旧文書番号
40928