WPF NotifyIcon Balloon не отображается

Хорошо, ребята, я совсем новичок в C#, но у меня все хорошо.

У меня есть приложение, свернутое в системный трей, и я использую WPF NotifyIcon сделать это. Я пытаюсь использовать встроенную функцию пузырькового наконечника.

Пока у меня нет ошибок, он просто не работает.

Мой код выглядит следующим образом:

    private void OnTaskBarMenuItemExitClick(object sender, RoutedEventArgs e)
    {
        m_isExplicitClose = true;//Set this to unclock the Minimize on close 

        this.Close();

        string title = "WPF NotifyIcon";
        string text = "This is a standard balloon";

        TaskBar.ShowBalloonTip(title, text, Properties.Resources.Server);
    }

Что должно произойти, так это то, что когда я закрываю приложение, оно скрывается в системном трее (и делает это), но также должно всплывать подсказка (и не всплывает).

Любые идеи; Я в тупике? :(


person Tom Wilson    schedule 22.09.2014    source источник
comment
Попробуйте использовать Hide() вместо Close()   -  person Thomas Levesque    schedule 22.09.2014
comment
This.Close() предотвращает обман   -  person Pavenhimself    schedule 22.09.2014
comment
К функции скрытия/закрытия это не имеет никакого отношения — в других функциях балун тоже не работает.   -  person Tom Wilson    schedule 22.09.2014
comment
Не могли бы вы опубликовать больше кода тогда   -  person Pavenhimself    schedule 22.09.2014
comment
Которого? Это единственная проблема???   -  person Tom Wilson    schedule 22.09.2014


Ответы (2)


Существуют некоторые ограничения на формат значка, и, проведя сеанс TeamViewer с плакатом, мы пришли к выводу, что проблема была в значке.

private void OnTaskBarMenuItemExitClick(object sender, RoutedEventArgs e)
{
    m_isExplicitClose = true;//Set this to unclock the Minimize on close 

    this.Close();

    string title = "WPF NotifyIcon";
    string text = "This is a standard balloon";

    TaskBar.ShowBalloonTip(title, text, BalloonIcon.Error);
}

Работал правильно и решил проблему с не появляющимся воздушным шаром.

person Ashley Davies    schedule 22.09.2014
comment
Так много да, о мой бог. - person Tom Wilson; 22.09.2014

private void OnTaskBarMenuItemExitClick(object sender, RoutedEventArgs e)
{
    m_isExplicitClose = true;//Set this to unclock the Minimize on close 

    this.Hide();

    string title = "WPF NotifyIcon";
    string text = "This is a standard balloon";

    TaskBar.ShowBalloonTip(title, text, Properties.Resources.Server);
}

перейдите по этой ссылке: http://www.techotopia.com/index.php/Hiding_and_Showing_Forms_in_C_Sharp

person Pavenhimself    schedule 22.09.2014
comment
К функции скрытия/закрытия это не имеет никакого отношения — в других функциях балун тоже не работает. - person Tom Wilson; 22.09.2014
comment
Похоже, вам лучше использовать BeginInvoke(), поэтому просто запустите другой поток для этого особого случая. - person deafjeff; 22.09.2014
comment
@deafjeff Ваш комментарий совсем не ясен. Позвонить BeginInvoke по поводу чего? Если бы это был элемент пользовательского интерфейса, очевидно, что новый поток не использовался бы. - person Daniel Kelley; 22.09.2014