Как создать всплывающее окно формы из системного трея в приложении Windows (не веб) с помощью C # - PullRequest
3 голосов
/ 06 июня 2011

У меня есть приложение winform в c #. основная форма обычно сводится к минимуму. Когда происходит какое-то событие, я хочу создать маленькую всплывающую форму, которая анимируется над значком в трее с сообщением, щелкните по нему, чтобы открыть основную форму.

Чтобы реализовать это, я просто создаю простую форму? или для этого есть специальная системная форма? например, есть всплывающее сообщение, оповещающее о новой почте с помощью msn messenger.

Заранее спасибо.

Ответы [ 6 ]

4 голосов
/ 06 июня 2011

Вот такой вопрос , который охватывает именно эту тему.То, что вы ищете, называется «тост» сообщение.

1 голос
/ 07 июня 2011

form.showdialog() должно работать там, где форма является экземпляром класса формы.Для некоторого кода вы можете обратиться к WorkingWithWinForms .

Если вы хотите отобразить вопрос или информацию, вы можете использовать MessageBox.вот сообщение-шоу .

1 голос
/ 06 июня 2011

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

1 голос
/ 06 июня 2011

Всплывающее окно «Toast», которое использует msn, является пользовательским, но в notifyicon есть встроенный метод ShowBalloonTip

, см. http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx

1 голос
/ 06 июня 2011

Я успешно использовал элемент управления NotifyIcon в WinForms . Добавьте NotifyIcon в вашу форму, а затем вызовите его ShowBalloonToolTip функцию в вашем обработчике событий для отображения вашего сообщения. Определите обработчик событий для события NotifyIcon.DoubleClick и откройте главное окно. Не забудьте также скрыть сообщение с сообщением.

Достойный пример того, как это сделать, можно найти здесь .

Такая же методика рекомендуется в WPF, хотя я не фанат включения компонентов WinForms в приложение WPF. Я делал это раньше, но это ранит душу.

0 голосов
/ 06 июня 2011

Вы должны создать нормальную форму.

Если вам не нужен обычный хром окна (заголовок и рамка), установите FormBorderStyle на None.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...