DotNetcr.com
Si deseas hacer un intercambio de links con DotNetcr, escríbenos aquí
Recibe las actualizaciones vía RSS
Te invitamos a unirte en nuestras redes
   http://www.facebook.com/DotNetcr
   http://www.twitter.com/dotnetcr

Crear mi propio control TextBoxEx

Por royrojas | 7/17/2005 | Visitas 11,678 | Voto 0.00
En esta primera entrega veremos como agregarle algunas propiedades al control TextBox, y empezar a crear uno que nos ayude mucho mejor en nuestras aplicaciones.
Categorías : VB.NET, Componentes VB.NET

Descargar Aplicación TextBoxEx

En .NET se nos provee muchos controles para que los utilicemos en nuestras aplicaciones, pero una de las ventajas es que los podemos modificar o agregarle propiedades de una forma muy sencilla.

Para crear nuestro TextBoxEx seguiremos algunos pasos simples, y en esta ocación solamente le agregaremos dos acciones.
- Que cuando entre al control le cambie el color del fondo "BackColor" para diferenciarlo de los demás
- Cuando sale del control en el "Leave", nos identifique si ese campo es requerido o no, y si es requerido nos lo marque con un rojo.




El control que vamos a crear sería con este código:

Public Class TextBoxEx
Inherits System.Windows.Forms.TextBox

#Region " Windows Form Designer generated code "

Public Sub New()
MyBase.New()

'This call is required by the Windows Form Designer.
InitializeComponent()

'Add any initialization after the InitializeComponent() call

End Sub

'UserControl overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Private Sub InitializeComponent()
components = New System.ComponentModel.Container
End Sub

#End Region

#Region " Variables "

Private mEsRequerido As Boolean = False

#End Region

#Region " Propiedades "

Public Property EsRequerido() As Boolean
Get
Return mEsRequerido
End Get
Set(ByVal Value As Boolean)
mEsRequerido = Value
End Set
End Property

#End Region

#Region " Sobrecarga "

Protected Overrides Sub OnEnter(ByVal e As System.EventArgs)
Try
Me.BackColor = System.Drawing.SystemColors.Info
Me.ForeColor = System.Drawing.SystemColors.InfoText
Catch ex As Exception
Throw
End Try
End Sub

Protected Overrides Sub OnLeave(ByVal e As System.EventArgs)
Try
If Me.mEsRequerido = True And Me.Text.Trim.Length = 0 Then
Me.BackColor = Color.Red
Else
Me.BackColor = Color.White
Me.ForeColor = Color.Black
End If
Catch ex As Exception
Throw
End Try
End Sub

#End Region

End Class



Luego en el código de nuestra aplicación declaramos los TextBox como TextBoxEx y le indicamos en las propiedades si lo deseamos Requerido o No.



En la siguiente entrega veremos como agregarle mas propiedades al control, propiedades de vaidación, si acepta solo numeros o algún tipo de máscara.
Area de Comentarios
Por Anónimo - Fecha: 2006/02/20 12:45 PM
q onda con la clase!!!!!!!!!!!!!! jejejeje
Por Anónimo - Fecha: 2006/04/13 03:45 PM
q buena pero cuando como validar q la primere letra sea en mayuscula tios cuelgela cuanto antes buena
Por Anónimo - Fecha: 2006/06/13 03:30 PM
Mi rpegunta es como se puede agregar otra propiedad para que tenga una lista de opciones en ves del True o False exclusivo que muestra la propiedad EsRequerido ?
Por royrojas - Fecha: 2006/06/28 10:32 PM
puedes crear una propiedad de tipo Enum, lo que haces es definirle como una estructura a una propiedad. En lugar de boolean o string utilizas Enum. Primero creas la estructura y luego se la asignas a la propiedad.
Por Anónimo - Fecha: 2006/07/27 01:24 PM
Esta Muy Bueno, pero amplía lo de la propiedad enum OK.
Por Anónimo - Fecha: 2012/09/27 03:41 AM
zipped the .cfm file that I used and added it to this entry (you should see a doolwnad' link by the comments', print', etc).Again, I stress that this isn't an elegant solution nor is it one that I'm particularly proud of. But if you're using BlogCFC, and another, more elegant method doesn't come up, this might save you a little bit of time. Obviously, edit as needed.
Por Anónimo - Fecha: 2012/09/28 06:21 PM
UjJAn3 , [url=http://xbqradfpyqsc.com/]xbqradfpyqsc[/url], [link=http://xhpacgelpsya.com/]xhpacgelpsya[/link], http://mwqzejgkumcq.com/
Por Anónimo - Fecha: 2012/09/29 03:14 PM
yX8o78 , [url=http://jyukyyfcsfjm.com/]jyukyyfcsfjm[/url], [link=http://gxqkgputdkki.com/]gxqkgputdkki[/link], http://tsbcmgvqpbqs.com/
Por Anónimo - Fecha: 2012/09/29 03:14 PM
yX8o78 , [url=http://jyukyyfcsfjm.com/]jyukyyfcsfjm[/url], [link=http://gxqkgputdkki.com/]gxqkgputdkki[/link], http://tsbcmgvqpbqs.com/
Por Anónimo - Fecha: 2015/07/18 06:01 PM
The root of your writing wilsht appearing reasonable at first, did not sit properly with me after some time. Somewhere throughout the sentences you actually managed to make me a believer unfortunately just for a short while. I still have a problem with your jumps in logic and one would do nicely to help fill in all those gaps. If you can accomplish that, I could certainly end up being amazed.
Por Anónimo - Fecha: 2015/07/21 01:37 PM
I was just seeking this info for some time. After six hours of ctuninoous Googleing, at last I got it in your web site. I wonder what is the lack of Google strategy that don't rank this type of informative sites in top of the list. Usually the top web sites are full of garbage. http://njmvzuetugk.com [url=http://lzwvfi.com]lzwvfi[/url] [link=http://jbazyzyl.com]jbazyzyl[/link]
Ingrese su Comentario
Comentario
Para poder votar debe estar registrado en DotNetcr.com
Solo queda registrado el primer voto enviado
Voto


Últimos Recursos
ricardo leppe t
pedrojavier
CALIN
willipinru
richard
ragomez
PER 238
MEX 236
CRI 188
COL 118
ESP 105
ARG 88