Один клик, чтобы открыть меню для иконки в трее в C #
-
08-07-2019 - |
Вопрос
Как заставить контекстное меню отображать значок в трее, если щелкнуть его, а не щелкнуть правой кнопкой мыши?
Я пытался использовать событие MouseClick, но в столбцах событий указатель мыши находится в точке 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);
}
}
Не связан с StackOverflow