Показывать форму уведомления на позиции NotifyIcon как Dropbox

Я пишу приложение, использующее NotifyIcon на C #. Я хочу, чтобы, когда пользователь нажимает на NotifyIcon на панели задач (нижний правый угол экрана), форма уведомления (это не основная форма, это всего лишь второстепенная форма, которая используется для отображения уведомлений) будет отображаться в местоположении NotifyIcon как это делает Dropbox: введите описание изображения здесь

Я использовал событие MouseClick из NotifyIcon и написал следующее:

private void NotifyIcon_MouseClick(object sender, MouseEventArgs e)
{
    Form2 form = new Form2();
    form.SetDesktopLocation(MousePosition.X - form.Width/2,MousePosition.Y-form.Height-20);
    form.Show();
    form.Focus();
 }

но это не работает должным образом, форма уведомления отображается в местоположении основной формы, а не в местоположении NotifyIcon.

кто-нибудь может мне помочь: |


person khaimaitien    schedule 10.03.2014    source источник


Ответы (1)


Перейдите к Form2 дизайну, выберите свойства Form2. Найдите StartPosition в свойствах Form2, установите StartPosition как Manual или вы можете сделать это как

Form2 form = new Form2();
form.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
form.SetDesktopLocation(MousePosition.X - form.Width/2,MousePosition.Y-form.Height-20);
form.Show();
form.Focus();

Надеюсь, вы решите свою проблему.

person Zaksh    schedule 10.03.2014