2014-09-22 8 views
0

Хорошо, ребята, совершенно новые для C#, но я отлично справляюсь с этим.WPF NotifyIcon Воздушный шар не отображается

У меня есть приложение, сведенное к минимуму в системный лоток, и для этого я использую 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); 
    } 

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

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

+0

Попробуйте использовать 'Hide()' вместо 'Close()' –

+0

Это. Close() предотвращает его форматирование – Pavenhimself

+0

Это не имеет ничего общего с функцией hide/close - воздушный шар не работает и в других функциях. –

ответ

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); 
} 

работал правильно и решен вопрос о баллоне не появляется.

+0

Так много да, о мой бог. –

0
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

+0

Это не имеет никакого отношения к функции hide/close - воздушный шар не работает и в других функциях. –

+0

Похоже, вам лучше использовать BeginInvoke(), поэтому просто запустите другой поток для этого особого случая. – deafjeff

+0

@deafjeff Ваш комментарий не совсем понятен. Назовите 'BeginInvoke' на что? Если бы это был элемент пользовательского интерфейса, новый поток, очевидно, не использовался бы. –