トレイ アイコンを右クリックするだけでなく、クリックしたときに強制的にコンテキスト メニューを表示するにはどうすればよいですか。
MouseClick イベントを使用してみましたが、eventargs のマウスの位置は x0y0 です。
トレイ アイコンを右クリックするだけでなく、クリックしたときに強制的にコンテキスト メニューを表示するにはどうすればよいですか。
MouseClick イベントを使用してみましたが、eventargs のマウスの位置は x0y0 です。
これでうまくいくはずです:
private void notifyIcon1_Click(object sender, EventArgs e)
{
contextMenuStrip1.Show(Cursor.Position.X, Cursor.Position.Y);
}
もう少しうまくいくことがわかった別の方法:
private void notifyIcon1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
System.Reflection.MethodInfo mi = typeof(NotifyIcon).GetMethod("ShowContextMenu", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
mi.Invoke(notifyIcon1, null);
}
}