Well, generally speaking, a component is any part of a thing. Specifically in .NET, a component is a class that implements the IComponent
interface, which indicates that a class can interact with it’s logical container.
More often than not, you see this in the form of design support, in that classes interact with their host in the designer, but that’s not a strict requirement.