I know, almost, how these work. Pretty cool.

I have used it before but for this new application, a bit confused on how to make it work.

I have 2 forms which I will be dealing with.

1 form is a main form the other is an "editor"

in the "editor" I want some things disabled, if a certain condition happens, and this works fine.

Since the "editor" is never always open (only when user clicks button, the editor.ShowDialog() is then processed), I dont know how to make this work:


the main form has a timer. and when a certain condition evalutes to true in this timer, a process starts (whatever it maybe). I want to notify the "editor" WHEN this happens - and only when the editor form is shown to the user.

Sure, I could just call a method from the timer to the editor form only if the editor form is not currently showing but I do not think this would be the best way - better just raising an event no?

I hope you understand what I am saying if not, please feel free to let me know and I will explain more.

so:

2 forms
1 form is editor

if certain condition is true on the main form timer, I want an event to be raised only if the editor form is in process/opened/shown to the user.