コンテキスト メニュー (以下のコード) を手動で表示すると、システムは「ディン」音を再生します。しかし、キーボードの「コンテキストメニュー」キーをクリックすると、音のないメニューポップアップが表示されます。手動で開いたときにサウンドを削除するにはどうすればよいですか?
void GridKeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.C && e.Control && e.Shift && !e.Alt)
{
e.Handled = true;
popupMenu.Show(grid, new Point(grid.Width / 2, grid.Height / 2));
}
}
PS .NET 4.5がインストールされたWin8でテストしました(4.0を使用)。
開いたポップアップ メニューが次のKeyUp
イベントを受け取り、間違ったクイック アクセス キーとしてサウンドを再生するようです。Application.DoEvents()
これは、 を呼び出す前に を呼び出すことによって沈黙させることができますpopupMenu.Show()
。しかし、もっと良い方法があれば知りたいです。