Ok, to start the line is an attribute tag that you get when you declare "Imports System.ComponentModel"
at the very top of your class.
"<Browsable(True)," means that in the property grid window you can "browse" the property
or is "visible" so to speak.
If you change it to False then it will be hidden from the property grid.
"DefaultValue("0")," means that "0" will be the default property value for the property. If you change a
property from its default value the value will become bold in the property grid. Also, when you right
click on the property in the grid you get a popup menu that has two menuitems on it - "Reset"
and "Description". Reset will change the property value back to your specified default value of "0". The Description
menuitem will turn the HelpText panel on or off.
"Description("The TabPages in the control." Description is the "description" that displays in the help text window below
the prop grid like shown in the TabPages description.

"Category("Appearance")>" means where you are placing the property categorically. If you look at
your property grid window you will see:- Accessibility
- Appearance
- Behavior
- Configurations
- Data
- Design
- Focus
- Layout
- Misc
So when its all put together you have several options plus more that I didnt get into.
VB Code:
<Browsable(True), DefaultValue("0"), Category("Appearance"), Description("MyTextBox Control is great!")> _
Public Shadows Property Text() As String
Get
Return _Text
End Get
Set(ByVal Value As String)
_Text = Value
End Set
End Property
Note: there is a line wrap underscrore designator so it can attach to the Public Property blah bah...
Now the "Shadows" part of it is required because the "Text" property is a built-in windows default
property. We need to attach to the windows text property so we can modify it instead of having errors
or duplicate Text properties.
There is allot to cover for user controls. I just learned all this a few weeks ago and I now see the real
depth with user controls and its not fun.
, but the result is