アクセスキーを設定する

本TipsはWPFのみとなります。あらかじめご了承ください。

アクセスキーを設定するには、キーにしたいアルファベットの前にアンダースコア(_)を置きます。

例えば、[ファイル]メニューで”F”をアクセスキーにする場合、「ファイル(_F)」の様に記述します。

下記はメニューにアクセスキーを設定する例です。

アクセスキーを設定する例

 

XAMLの例

<Grid Name="Grid1">
    <Menu VerticalAlignment="Top">
        <MenuItem Header="ファイル(_F)">
            <MenuItem Header="新規作成(_N)" />
            <MenuItem Header="保存(_A)" />
            <Separator />
            <MenuItem Header="終了(_X)" />
        </MenuItem>
        <MenuItem Header="編集(_E)">
            <MenuItem Header="切り取り(_T)" />
            <MenuItem Header="コピー(_C)" />
            <MenuItem Header="貼り付け(_P)" />
        </MenuItem>
    </Menu>
</Grid>

VBの例

'XAMLではなくコードでメニューを作成する場合は下記のようにします

Dim mainMenu As New Controls.Menu()
Dim menuFile As New MenuItem()
Dim menuFileNew As New MenuItem()
Dim menuFileSave As New MenuItem()
Dim menuFileSeparator As New Separator()
Dim menuFileEnd As New MenuItem()
Dim menuEdit As New MenuItem()
Dim menuEditCopy As New MenuItem()
Dim menuEditCut As New MenuItem()
Dim menuEditPaste As New MenuItem()


mainMenu.VerticalAlignment = VerticalAlignment.Top

'[ファイル]メニュー項目の作成
menuFile.Header = "ファイル(_F)"
menuFileNew.Header = "新規作成(_N)"
menuFileSave.Header = "保存(_A)"
menuFileEnd.Header = "終了(_X)"
'[ファイル]メニューに[新規作成][保存][終了]項目を追加
menuFile.Items.Add(menuFileNew)
menuFile.Items.Add(menuFileSave)
menuFile.Items.Add(menuFileSeparator)
menuFile.Items.Add(menuFileEnd)


'[編集]メニュー項目の作成
menuEdit.Header = "編集(_E)"
menuEditCut.Header = "切り取り(_T)"
menuEditCopy.Header = "コピー(_C)"
menuEditPaste.Header = "貼り付け(_P)"
'[編集]メニューに[切り取り][コピー][貼り付け]項目を追加
menuEdit.Items.Add(menuEditCut)
menuEdit.Items.Add(menuEditCopy)
menuEdit.Items.Add(menuEditPaste)

'メインメニューに[ファイル]メニューを追加
mainMenu.Items.Add(menuFile)
'メインメニューに[編集]メニューを追加
mainMenu.Items.Add(menuEdit)

Me.Grid1.Children.Add(mainMenu)

C#の例

//XAMLではなくコードでメニューを作成する場合は下記のようにします

System.Windows.Controls.Menu mainMenu =
    new System.Windows.Controls.Menu();
MenuItem menuFile = new MenuItem();
MenuItem menuFileNew = new MenuItem();
MenuItem menuFileSave = new MenuItem();
Separator menuFileSeparator = new Separator();
MenuItem menuFileEnd = new MenuItem();
MenuItem menuEdit = new MenuItem();
MenuItem menuEditCopy = new MenuItem();
MenuItem menuEditCut = new MenuItem();
MenuItem menuEditPaste = new MenuItem();

mainMenu.VerticalAlignment = VerticalAlignment.Top;

// [ファイル]メニュー項目の作成
menuFile.Header = "ファイル";
menuFileNew.Header = "新規作成";
menuFileSave.Header = "保存";
menuFileEnd.Header = "終了";
// [ファイル]メニューに[新規作成][保存][終了]項目を追加
menuFile.Items.Add(menuFileNew);
menuFile.Items.Add(menuFileSave);
menuFile.Items.Add(menuFileSeparator);
menuFile.Items.Add(menuFileEnd);


// [編集]メニュー項目の作成
menuEdit.Header = "編集";
menuEditCut.Header = "切り取り";
menuEditCopy.Header = "コピー";
menuEditPaste.Header = "貼り付け";
// [編集]メニューに[切り取り][コピー][貼り付け]項目を追加
menuEdit.Items.Add(menuEditCut);
menuEdit.Items.Add(menuEditCopy);
menuEdit.Items.Add(menuEditPaste);

// メインメニューに[ファイル]メニューを追加
mainMenu.Items.Add(menuFile);
// メインメニューに[編集]メニューを追加
mainMenu.Items.Add(menuEdit);

this.Grid1.Children.Add(mainMenu);

コメントを残す

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.