Is it possible to raise events in a class from a nested class within it?

I haven't started this yet but what I am doing is making a code only NotifyIcon. In other words it can be used with out a form. To do that I have to have an internal window to provide a handle and to catch messages. What I tried first was just inheriting the System.Windows.Forms.Native window but I don't want the class to expose all the NativeWindow members because well a tray icon doesn't need to create a window or anything like that it should all be hidden. So what I am thinking is make a imple nested class that is a window class with a WindowProc and raise the needed events for the tray class from inside the window class. I just don't know how to do it.

I am also adding Balloon tips for supported os because ms always jips us some how....

I am considering using c++ but I come to the same basic problem....