you can use custom control to add additional property in the button through making custom control.
in this article i will add some misc properties in the button custom control and also will show how to use this control in your project.
First add a custom control from Right click on your project root–>Add–>new item–>custom control.
After adding new custom control in your project you will see this code in custom control code file:
Public Class CustomControl1 Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) MyBase.OnPaint(e) 'Add your custom paint code here End Sub End Class
Rename the class name as you wish. On here i am replacing customcontrol1 to myButton. And change the base class of the control to Button by adding a new line ‘Inherits Button‘.
Public Class myButton Inherits Button Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) MyBase.OnPaint(e) 'Add your custom paint code here End Sub End Class
Save your control or project and than Build your project, now you can able to see your control in the toolbox.You can use this control on your project and it would look and act exactly like a standard Button control.
Next step is to add some additional functionality and visual properties of that control . The following code fragment defines a custom property named TextUpperCase for the your custom control.
Private _TextUpperCase As Boolean = False ' The Category attribute tells the designer to set the the lower case and upper case of the text <Category("Text"), _ Description("Case of the Text.")> _ Public Property TextUpperCase() As Boolean Get Return _TextUpperCase End Get Set(ByVal value As Boolean) _TextUpperCase = value If _TextUpperCase Then Me.Text = Me.Text.ToUpper() Else Me.Text = Me.Text.ToLower() End If End Set End Property
From the above we are using category and description attributes for describing the custom control, The Category attribute tells the developer to display it in the Text grouping.and Description attribute provides a description of the property.
We create the ‘TextUpperCase’ custom property as Boolean type. if designer will set this property to true than property set the text case of the button caption to Upper case and if set the False the caption of the text will be change in to lower case.
Now you can build the control and you can use this button control in toolbox with named myButton.
you can drag and drop in to your windows form. The TextUpperCase property will be display in the property windows of the control as :
See more on Custom Control