La solución óptima es distinta según que tecnología vayas a usar (WindowsForms, WPF, etc...)
En WindowsForms directamente hay muy pocas opciones, o bien te limitas a utilizar las propiedades de personalización del control, o diseñas tu control desde cero para darle forma y color deseado, o utilizas un framework de los tantos que hay (Telerik, Bunifu UI, etc) cuyos controles son bastante personalizables en su apariencia.
En WPF puedes usar temas y estilos, como estos:
https://github.com/Carlos487/awesome-wpf#themeso también puedes utilizar frameworks con controles hyper-personalizables como el del ya mencionado Telerik.