Un componente es una clase lista para usar que puede ser configurada o utilizada de forma visual desde el entorno de desarrollo. Los componentes permiten realizar gran parte del trabajo de forma visual en lugar de código, ahorrando tiempo y reduciendo errores. Existen componentes visuales que muestran elementos en la pantalla y componentes no visuales que se insertan en formularios para ser utilizados por el programador. La principal misión del programador de componentes es definir propiedades, métodos y eventos para que otros puedan utilizar el componente de forma sencilla.