No, this is not achieved using the design pattern. These properties are just public properties set by the control, these properties are added to the control through inheritance, i.e. Subclasses of Control . The visual studio designer checks the class that implements these controls to determine the properties that they expose, and then provides a user interface for customizing them.
source share