| Attribute | Description |
| Browsable(True|False) | If False, indicates that a property should not be shown in the Properties window. However, the property will still be accessible through code. |
| Category("") | Sets the category under which the property will appear in the Properties window. If a category with this name doesn't exist, it will be created. |
| DefaultValue("") | Sets the initial value that will be used for this property when the control is created. |
| Description("") | Specifies the text description that will be displayed for this property in the Object Browser of Properties window. |
| DesignOnly(True|False) | When set to True, this property will only be available at design time. This is typically used with special properties that configure how a control behaves at design time (like a SuppressUI property), and don't correspond to a "real" piece of information about the control. |
| ImmutableObject(True|False) | When set to True on an object property, this attribute ensures that the sub-properties of this object will be displayed as read-only. For example, if you apply this to a property that uses a Point object, the X and Y sub-property will be read-only. |
| Localizable(True|False) | When set to True, the design-time value for this property will be stored in a resource file, instead of in the generated code. This makes it easy to swap the value later by introducing a new resource file. When the user configures properties that don't use this attribute, the appropriate code will be inserted in the hidden designer region of the form, unless it requires a special data type (like an image) that must be stored in a resource file. |
| NotifyParentProperty(True|False) | Set this to True to indicate that a parent property should receive notification about changes to the property's value (and update its display accordingly). For example, the Size property has two nested properties: Height and Width. These nested properties should be marked with this attribute. |
| ParenthesizePropertyName(True|False) | When True, indicates that the property should be displayed with brackets around it in the Properties window (like the Name property). |
| ReadOnly(True|False) | When True, this property is read-only in the Properties window at design time. |
| RefreshProperties() | You use this attribute with a value from the RefreshProperties enumeration. It specifies whether the rest of the Properties window must be updated when this property is changed (for example, if one property procedure could change another property). |