If you create the form once, and these handlers are also once in the beginning, then you really do not need to clean anything.
If you create it several times, though (for example, you create a form many times when the user clicks a button), then you need to be careful. And here the answer depends on what exactly is in the handlers:
c.KeyDown += (s, e) => { // do something };
In general, assigning a delegate to an event can cause a dependency cycle from the point of view of the GC, for example. Imagine that the form contains the control A and is registered in the event on A. Then the form cannot be deleted until A is selected, and A cannot be deleted until the form is selected (since it is indirect refers to the form via a callback). If you create the form with the A control, then that will be fine (the GC will get rid of both at the same time), but when you create the A controls dynamically, you can end the memory leak.
source share