Запустить контроль формы без уведомления? - PullRequest
3 голосов
/ 09 апреля 2011

в моем коде мне нужно запустить контроль уведомлений, не показывая никакой формы, как я могу это сделать?я просто добавляю этот код в основной поток program.cs, но он не работает, пожалуйста, помогите мне с этим?

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run();
        TaskbarIcon tb = new TaskbarIcon();
        var balloon = new Warning();
        tb.ShowCustomBalloon(balloon, PopupAnimation.Fade, 12000);

предупреждение является пользовательским элементом управления

Ответы [ 2 ]

8 голосов
/ 09 апреля 2011

Я бы рекомендовал вызывать Application.Run () с экземпляром ApplicationContext в качестве параметра:

class Kernel : ApplicationContext
{
    private TaskbarIcon tb = new TaskbarIcon();

    public void Show()
    {
        var ballon = new Warning();
        tb.ShowCustomBalloon(balloon, PopupAnimation.Fade, 12000);
    }

    /// <summary>
    /// Closes the application.
    /// </summary>
    public void Close()
    {
        Application.Exit();
    }
}

Programm.cs:

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

using(var kernel = new Kernel())
{
    Application.Run(kernel);
}

Таким образом, он работает со стандартным .NET NotifyIcon.

0 голосов
/ 09 апреля 2011

Вы можете добавить невидимую форму, которая будет служить ее хостом, если хотите.Это нехорошо, но работает для вашего сценария.

Еще один способ сделать это - написать собственный значок на панели задач + приложение для уведомлений, но я думаю, что это слишком много для того, что вы хотите сделать.

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