[MenuStrip][Tips] ショートカットキーを設定する

メニュー項目にショートカットキーを表示させるにはShortcutKeysプロパティを使用します。

ShortcutKyesプロパティは、下図のようにプロパティウィンドウからも設定することができます。

コードから設定する場合、キーの組み合わせはOr演算子(VBは”Or”, C#は”|”)を使用します。

例えば、ショートカットキー「Ctr + N」は下記のようにします。

VBの例

menuFileNew.ShortcutKeys = Keys.Control Or Keys.N

C#の例

menuFileNew.ShortcutKeys = Keys.Control | Keys.N;

下記はコードでショートカットキーを設定する例です。

VBの例

' フォームロード時の処理
Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Dim menuFile As New ToolStripMenuItem               'ファイル(&F)
    Dim menuFileNew As New ToolStripMenuItem            '新規作成(&N)
    Dim menuFileOpen As New ToolStripMenuItem           '開く(&O)
    Dim menuFileSeparator1 As New ToolStripSeparator    'セパレーター
    Dim menuFileSaveAs As New ToolStripMenuItem         '名前を付けて保存(&A)
    Dim menuFileSave As New ToolStripMenuItem           '上書き保存(&S)
    Dim menuFileSeparator2 As New ToolStripSeparator    'セパレーター
    Dim menuFileEnd As New ToolStripMenuItem            '終了(&X)

    '項目の設定
    menuFile.Text = "ファイル(&F)"
    menuFileNew.Text = "新規作成(&N)"
    menuFileOpen.Text = "開く(&O)"
    menuFileSaveAs.Text = "名前を付けて保存(&A)"
    menuFileSave.Text = "上書き保存(&S)"
    menuFileEnd.Text = "終了(&X)"

    '★★★ショートカットキーの作成★★★
    menuFileNew.ShortcutKeys = Keys.Control Or Keys.N
    menuFileOpen.ShortcutKeys = Keys.Control Or Keys.O
    menuFileSave.ShortcutKeys = Keys.Shift Or Keys.Control Or Keys.S

    '[ファイル(F)]項目に子項目を追加する
    menuFile.DropDownItems.Add(menuFileNew)
    menuFile.DropDownItems.Add(menuFileOpen)
    menuFile.DropDownItems.Add(menuFileSeparator1)
    menuFile.DropDownItems.Add(menuFileSaveAs)
    menuFile.DropDownItems.Add(menuFileSave)
    menuFile.DropDownItems.Add(menuFileSeparator2)
    menuFile.DropDownItems.Add(menuFileEnd)

    '[ファイル(F)]をメニューに追加する
    MenuStrip1.Items.Add(menuFile)
End Sub

C#の例

// フォームロード時の処理
private void Form3_Load(object sender, EventArgs e)
{
    ToolStripMenuItem menuFile = new ToolStripMenuItem();               // ファイル(&F)
    ToolStripMenuItem menuFileNew = new ToolStripMenuItem();            // 新規作成(&N)
    ToolStripMenuItem menuFileOpen = new ToolStripMenuItem();           // 開く(&O)
    ToolStripSeparator menuFileSeparator1 = new ToolStripSeparator();   // セパレーター
    ToolStripMenuItem menuFileSaveAs = new ToolStripMenuItem();         // 名前を付けて保存(&A)
    ToolStripMenuItem menuFileSave = new ToolStripMenuItem();           // 上書き保存(&S)
    ToolStripSeparator menuFileSeparator2 = new ToolStripSeparator();   // セパレーター
    ToolStripMenuItem menuFileEnd = new ToolStripMenuItem();            // 終了(&X)

    // 項目の設定
    menuFile.Text = "ファイル(&F)";
    menuFileNew.Text = "新規作成(&N)";
    menuFileOpen.Text = "開く(&O)";
    menuFileSaveAs.Text = "名前を付けて保存(&A)";
    menuFileSave.Text = "上書き保存(&S)";
    menuFileEnd.Text = "終了(&X)";

    // ★★★ショートカットキーの作成★★★
    menuFileNew.ShortcutKeys = Keys.Control | Keys.N;
    menuFileOpen.ShortcutKeys = Keys.Control | Keys.O;
    menuFileSave.ShortcutKeys = Keys.Shift | Keys.Control | Keys.S;

    // [ファイル(F)]項目に子項目を追加する
    menuFile.DropDownItems.Add(menuFileNew);
    menuFile.DropDownItems.Add(menuFileOpen);
    menuFile.DropDownItems.Add(menuFileSeparator1);
    menuFile.DropDownItems.Add(menuFileSaveAs);
    menuFile.DropDownItems.Add(menuFileSave);
    menuFile.DropDownItems.Add(menuFileSeparator2);
    menuFile.DropDownItems.Add(menuFileEnd);

    // [ファイル(F)]をメニューに追加する
    menuStrip1.Items.Add(menuFile);
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください