Создание формы значка уведомления

Я новичок в C#, но я выстоял с этим и начал свою первую правильную программу. Программа состоит из Notify Icon которая существует в области уведомлений, и при ее нажатии форма будет отображаться в течение короткого периода времени.

До сих пор у меня так, что программа запускается (не показывая форму (которая является FixedSingle, поэтому она отображается только в виде серого прямоугольника), но создавая значок), и регистрирует MouseClick событие, но это то, где я застрял. Я пытаюсь сделать так, чтобы при щелчке по значку поле появлялось над / рядом с областью уведомлений (до тех пор, пока не произойдет событие размытия или событие от объекта в форме), но после поиска в Google для последней половины Час или около того, я не ближе к поиску решения, вероятно, потому что я не знаю правильных слов.

Итак, кто-нибудь знает, какие команды нужно отправить, чтобы форма появилась на мгновение в правильных координатах (относительно области уведомлений)?

дополнительный

Я модифицировал static void Main() к следующему:

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
new frmMain();
Application.Run();

Итак new frmMain() существует как собственная сущность, а не как аргумент Application.Run()

редактировать

Право, только что узнал, что я могу отобразить форму с this.Show() и это показывает форму, и это наоборот this.Hide() скрою это Но я до сих пор не могу определить координаты области уведомлений и как рассчитать, какие новые координаты формы для нее будут отображаться рядом с ней или над ней.

1 ответ

Решение

Ты можешь использовать:

  1. Screen.PrimaryScreen
  2. Screen.WorkingArea

System.Drawing.Rectangle workingRectangle = Screen.PrimaryScreen.WorkingArea;
this.Left = workingRectangle.Width - this.Width;
this.Top = workingRectangle.Height - this.Height;
this.Show();

Над кодом необходимо вызывать всякий раз, когда нажимается значок уведомления.

Другие вопросы по тегам