views:

111

answers:

2

I want to make an Application that only has a NotifyIcon. It doesn't need to have at all a "Main" Form. When I want to achieve something like this, I just create an invisible form and run it, but would there be a more "elegant" way of doing this, I'd like to know it.

How do you generally do this? This application can't be a Windows Service, as having the NotifyIcon and its Context Menus is important (each one of them will run a different command).

Thanks

+1  A: 

Check out this blog post:

As it turned out it was so easy it was ridiculous. All you have to do create a class that is inherits the iContainer interface. When you create the instance of the notify icon, pass a container object.

It gives you the notify icon, but not a context menu.

ChrisF
@devoured - I don't know. I was going to post that I thought you did need a main form, but decided to do a search first - just to be sure. I came across the post I linked to and it seemed to answer your question. I haven't tried it myself yet.
ChrisF
Yes, that's it. Thanks!
devoured elysium
Also, I didn't know you could just do Application.Run() and that'd make the application run an empty message loop.
devoured elysium
A: 

Another approach is to use special ApplicationContext which will have only the controls you need: Creating a Tasktray Application.

Giorgi