WPF and NotifyIcon?
8 posts
• Page 1 of 1
WPF and NotifyIcon?
Please would somebody tell me what I'm missing here?
I want to have a little bubble of text show up in the Windows Taskbar (just like FireFox does when it tells me there's a new version every couple of hours) when my application, running in the background, has something to tell me.
NotifyIcon looks like just what I want.
I look at Microsoft's WPF "documentation" and it tells me that NotifyIcon isn't part of WPF, but to go ahead and use the NotifyIcon of .Net. A little more hunting around gets me a code snippet. So I apply my transliteration "skills" and make a Dialog version...
The idea being to feed it the name of an icon file as argument, verify that it's working then transfer to my application (and pump a bit of writeup into my "how to use WPF from Dyalog" pages).
But - nothing happens. It seems to run - if I deliberately introduce stupid errors I get the expected failures. So it all seems legitimate. But I don't get to see a TaskBar icon and I don't see any bubbling text.
Makes me think that - once again - the bleeding obvious has escaped me.
Environment - 64-bit Windows 7 and 64-bit Dyalog 13.0. I've tried various Taskbar properties - like turning off autohide - seems to make no difference.
I want to have a little bubble of text show up in the Windows Taskbar (just like FireFox does when it tells me there's a new version every couple of hours) when my application, running in the background, has something to tell me.
NotifyIcon looks like just what I want.
I look at Microsoft's WPF "documentation" and it tells me that NotifyIcon isn't part of WPF, but to go ahead and use the NotifyIcon of .Net. A little more hunting around gets me a code snippet. So I apply my transliteration "skills" and make a Dialog version...
- Code: Select all
foo w
⎕USING←,⊂'System.Windows.Forms,System.Windows.Forms.dll'
⎕USING,←⊂'System.Drawing,system.drawing.dll'
n←⎕NEW NotifyIcon ⍬
n.BalloonTipText←'Hidihi'
n.Text←'Hodiho'
n.NotifyIcon←⎕NEW Icon(⊂w)
n.Visible←1
n.ShowBalloonTip 3000
⍝ MSDN sample code below -----------------------------------------------------
⍝ NotifyIcon notifyIcon = new NotifyIcon(); // Declaration
⍝ this.notifyIcon.BalloonTipText = "Hello, NotifyIcon!"; // Text of BalloonTip
⍝ this.notifyIcon.Text = "Hello, NotifyIcon!"; // ToolTip of NotifyIcon
⍝ this.notifyIcon.Icon = new System.Drawing.Icon("NotifyIcon.ico"); // Shown Icon
⍝ this.notifyIcon.Visible = true;
⍝ this.notifyIcon.ShowBalloonTip(1000); // Shows BalloonTip
The idea being to feed it the name of an icon file as argument, verify that it's working then transfer to my application (and pump a bit of writeup into my "how to use WPF from Dyalog" pages).
But - nothing happens. It seems to run - if I deliberately introduce stupid errors I get the expected failures. So it all seems legitimate. But I don't get to see a TaskBar icon and I don't see any bubbling text.
Makes me think that - once again - the bleeding obvious has escaped me.
Environment - 64-bit Windows 7 and 64-bit Dyalog 13.0. I've tried various Taskbar properties - like turning off autohide - seems to make no difference.
Visit http://apl.dickbowman.com to read more from Dick Bowman
-
Dick Bowman - Posts: 235
- Joined: Thu Jun 18, 2009 4:55 pm
Re: WPF and NotifyIcon?
Hello Dick, what you did is not working for me either. The following is working however:
I hope this is helpfull
- Code: Select all
⎕USING←,⊂'System.Windows.Forms,System.Windows.Forms.dll'
⎕USING,←⊂'System.Drawing,system.drawing.dll'
n←⎕NEW NotifyIcon ⍬
n.ShowBalloonTip 30 ⍝ seconds
n.Icon←⎕NEW Icon(⊂'C:\MyIcon.ico')
n.Text←'This is my Tooltip Text'
n.Visible←1
I hope this is helpfull
-
PGilbert - Posts: 435
- Joined: Sun Dec 13, 2009 8:46 pm
- Location: Montréal, Québec, Canada
Re: WPF and NotifyIcon?
Thank you - as usual my error was crassly stupid, I'd set "NotifyIcon" when I should have set "Icon", hence a new version which does what I want...
What's interesting is that when I tried your code I got Status Window messages about "BalloonTipText cannot be empty", and I need to set a much higher value for the display period (documentation says milliseconds). I'm wondering whether there's some environmental sensitivity at work here.
- Code: Select all
foo w
⎕USING←,⊂'System.Windows.Forms,System.Windows.Forms.dll'
⎕USING,←⊂'System.Drawing,system.drawing.dll'
n←⎕NEW NotifyIcon ⍬
n.BalloonTipText←'Hidihi'
n.Icon←⎕NEW Icon(⊂w)
n.Visible←1
n.ShowBalloonTip 3000
What's interesting is that when I tried your code I got Status Window messages about "BalloonTipText cannot be empty", and I need to set a much higher value for the display period (documentation says milliseconds). I'm wondering whether there's some environmental sensitivity at work here.
Visit http://apl.dickbowman.com to read more from Dick Bowman
-
Dick Bowman - Posts: 235
- Joined: Thu Jun 18, 2009 4:55 pm
Re: WPF and NotifyIcon?
I'm not sure about the MSDN sample but if you look at properties/methods I believe you should have used
n←⎕new NotifyIcon
n.Icon←⎕new Icon (⊂w)
n.Visible←1 ⍝ Icon becomes visible
n.BalloonTipText←'Hidihi'
n.ShowBalloonTip 3000
n.Dispose ⍝ to remove it
n←⎕new NotifyIcon
n.Icon←⎕new Icon (⊂w)
n.Visible←1 ⍝ Icon becomes visible
n.BalloonTipText←'Hidihi'
n.ShowBalloonTip 3000
n.Dispose ⍝ to remove it
-
MikeHughes - Posts: 86
- Joined: Thu Nov 26, 2009 9:03 am
- Location: Market Harborough, Leicestershire, UK
Re: WPF and NotifyIcon?
Sorry didnt see Pierre's reply - was working from the Forum daily email
-
MikeHughes - Posts: 86
- Joined: Thu Nov 26, 2009 9:03 am
- Location: Market Harborough, Leicestershire, UK
Re: WPF and NotifyIcon?
Dispose - in this situation - appears to have an unhelpful (side)effect...
Visit http://apl.dickbowman.com to read more from Dick Bowman
-
Dick Bowman - Posts: 235
- Joined: Thu Jun 18, 2009 4:55 pm
Re: WPF and NotifyIcon?
Which is?
I think I missed that - mine seemed Ok.
If I deleted it (or it went out of scope) and I hadn't used Dispose, the icon stayed in the system bar until I cleared the ws but was not accessible.
I think I missed that - mine seemed Ok.
If I deleted it (or it went out of scope) and I hadn't used Dispose, the icon stayed in the system bar until I cleared the ws but was not accessible.
-
MikeHughes - Posts: 86
- Joined: Thu Nov 26, 2009 9:03 am
- Location: Market Harborough, Leicestershire, UK
Re: WPF and NotifyIcon?
Apologies for the delay - decided that turning over my compost heap was more appealing than looking at WPF. Then I had to go rioting and looting.
Anyhow - when I use Disclose the NotifyIcon disappears immediately after it's shown. Maybe the right thing to do is to make sure the disposing is done after a suitable delay. There is something peculiar about the ShowBalloonTip time argument, which seems to be susceptible to overrides from other global (not APL-global) settings - this might explain why it seems to linger forever for you.
Anyhow - when I use Disclose the NotifyIcon disappears immediately after it's shown. Maybe the right thing to do is to make sure the disposing is done after a suitable delay. There is something peculiar about the ShowBalloonTip time argument, which seems to be susceptible to overrides from other global (not APL-global) settings - this might explain why it seems to linger forever for you.
Visit http://apl.dickbowman.com to read more from Dick Bowman
-
Dick Bowman - Posts: 235
- Joined: Thu Jun 18, 2009 4:55 pm
8 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 1 guest
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group