Originariamente inviato da bubu80
ma perchè dovrei scegliere una classe che implementa una IComponent o una classe normale?
Una classe che implementa IComponent supporta le funzionalità tipiche di un componente, ed è un tipo di classe particolare da cui deriva una famiglia di classi che possono essere inserite in appositi "container" (ad esempio, Form).

Semplicemente, si tratta di un tipo specifico di classi; il motivo per cui sceglierlo è banalmente la necessità di usare le funzionalità che Component offre. Se non se ne ha bisogno, si crea una normale classe, o si deriva da una classe che offre le funzionalità di base che servono per risolvere un problema specifico.