いろいろ調べみても、やはり修飾(Ctrl/Altなど)なしでショットカットを割り当てることはできないことがわかりました。そこで、画面をそれらしく表現するには、以下のようにすればよいことがわかりました。コードはこんな感じ。
//コンストラクタ
public Form1()
{
InitializeComponent();
// メニューのショートカットキーに「↓」って表示される(デザイナから設定可能)
toolStripMenuItem1.ShortcutKeyDisplayString = "↓";
// 特殊なキーの押下をハンドリグするイベントをインプリメント(デザイナから設定可能)
this.PreviewKeyDown += new PreviewKeyDownEventHandler(Form1_PreviewKeyDown);
}
void Form1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
//↓矢印押下ならメニュー押下相当の処理
if (e.KeyCode == Keys.Down)
{
toolStripMenuItem1.PerformClick();
}
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show(this, "「↓」おされたよ");
}
public Form1()
{
InitializeComponent();
// メニューのショートカットキーに「↓」って表示される(デザイナから設定可能)
toolStripMenuItem1.ShortcutKeyDisplayString = "↓";
// 特殊なキーの押下をハンドリグするイベントをインプリメント(デザイナから設定可能)
this.PreviewKeyDown += new PreviewKeyDownEventHandler(Form1_PreviewKeyDown);
}
void Form1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
//↓矢印押下ならメニュー押下相当の処理
if (e.KeyCode == Keys.Down)
{
toolStripMenuItem1.PerformClick();
}
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show(this, "「↓」おされたよ");
}
0 件のコメント:
コメントを投稿