Comenzare explicando el objetivo de crear controles personalizados y como le fue dando forma a este proyecto de personalizar controles.
Todo comienza con el tema de la seguridad informatica, tomare la analogia del cerrojo de cualquier puerta; si este cerrojo puede ser abierto con mas de un tipo de llave diferente quiere decir que no es seguro; esta misma seguridad puede aplicarse a las aplicaciones, si por cualquier entrada de datos puede aceptar mas de un tipo de dato quiere decir que no es seguro o es suceptible a ataques. Y para hacer mas segura nuestra aplicacion debemos restringuir, discriminar o limitar los datos a ingresar, de tal forma que las vulnerabilidades solo queden a al descubierto de un pequeño grupo de expertos, no es una solucion conformista pero por el momento es la mas adecuada.
Partiremos de un control que nos permita ingresar solo datos de tipo numerico. Para crear este control es necesario heredar de otro control mas generico y donde esta clase hija sera la discriminadora de caracteres. Para hacer mas versatil esta clase hija agregaremos una propiedad que nos permita definir el uso de un punto para el uso de enteros o decimales, al agregar esta propiedad veremos la necesidad de crear un atributo para el diseñador de formularios para determinar el orden en que seran serializados o deserealizados los componentes.