The arguments received by an event handler are created by the object that raised the event. If there's no event and you created the arguments yourself then they are obviously fake, becaue they don't represent a real event.

You don't need a tutorial for this because it's pretty simple: event handlers are supposed to handle events. If there's no event there should be no event handler. You can call one directly because it's still a method. Doing so saves you having to write a separate method but, as one of our main aims when writing code is clarity, we shouldn't create a less clear, possibly problematic situation to save a few keystrokes.