Principales respuestas
Como crear clases en vb

Pregunta
-
saludos a todos, soy novato con vb y quisiera preguntarles, como hago para crear una clase y luego agregarla al proyecto que este desarrollando, como por ejemplo quisiera cear una clase basada en cuadros de texto personalizados es decir cuando se haga un enfoque sobre el textbox cambie de color, se que lo puedo hacer en cada textbox que agregue pero creando la clase me puedo evitar ese trabajo.
graciasmartes, 16 de junio de 2009 2:13
Respuestas
-
Aqui te dejo la laclase creo que se te sera facil entenderla Analizala para ello
crea tu proyecto Windows Form
y ya que creastes el Proyecto
agrega dos controles textbox
vete al menu proyecto y se selecciona Agregar Clase se te agregara la clase
ahora borra todo el codigo que hay en la clase que acanbas de agregar pega el siguiente codigo
Public Class TextBoxClase Public Property GotFocus(ByVal Form As Form, ByVal Textbox As TextBox) As Color Get For Each texboxes As TextBox In Form.Controls.Owner.Controls If TypeOf texboxes Is TextBox Then Return Color.Red End If Next Return Nothing End Get Set(ByVal value As Color) Textbox.BackColor = value End Set End Property Public Property LostFocus(ByVal Form As Form, ByVal Textbox As TextBox) As Color Get For Each texboxes As TextBox In Form.Controls.Owner.Controls If TypeOf texboxes Is TextBox Then Return Color.Red End If Next Return Nothing End Get Set(ByVal value As Color) Textbox.BackColor = value End Set End Property Public Property All_Textbox_In_Form_A_Un_Solo_Color(ByVal Form As Form) As Color Get For Each texboxes As TextBox In Form.Controls.Owner.Controls If TypeOf texboxes Is TextBox Then texboxes.BackColor = All_Textbox_In_Form_A_Un_Solo_Color End If Next Return Nothing End Get Set(ByVal value As Color) For Each texboxes As TextBox In Form.Controls.Owner.Controls If TypeOf texboxes Is TextBox Then texboxes.BackColor = value End If Next End Set End Property End Class
ahora en en textbox1 en el evento TextBox1_GotFocus
pega el siguiente codigo
'creamos la variable para extraer las propiedades que creamos en la clase TextboxClases Dim textbox As New TextBoxClase 'igualo al color Green por que es el color que quiero que se ponga en el textbox1 al momento que el textbox1 recibe el foco textbox.GotFocus(Me, Me.TextBox1) = Color.Green
ahora en en textbox1 en el evento TextBox1_LostFocus
pega el siguiente codigo
'creamos la variable para extraer las propiedades que creamos en la clase TextboxClases Dim textbox As New TextBoxClase 'igualo el color Blanco porque es el color del textbox como predeterminado del textbox textbox.LostFocus(Me, Me.TextBox1) = Color.White
Nota: Puedes cambiar los colores que yo he piuesto a los colores que necesitas
los codigos que anterior puse tienen que ir en el evento TextBox1_GotFocus y LostFocus para que tengan enfecto si los quieres agregar a otro textbox ejemplo si tubieras otro textbox3 tendrias que poner el codigo siguiente
en textbox3 en el evento TextBox3_LostFocus
pega el siguiente codigo'creamos la variable para extraer las propiedades que creamos en la clase TextboxClases Dim textbox As New TextBoxClase textbox.GotFocus(Me, Me.TextBox3) = Color.red
en textbox3 en el evento TextBox3_LostFocus
pega el siguiente codigo'creamos la variable para extraer las propiedades que creamos en la clase TextboxClases
Dim textbox As New TextBoxClase 'igualo al color Green por que es el color que quiero que se ponga en el textbox3 al momento que el textbox3 recibe el foco textbox.GotFocus(Me, Me.TextBox3) = Color.Red
para que todos los texbox tengan un solo color todos al mismo tiempo en clase se encuentra el codigo
en el Evento Form1_Load de formulario agrega el siguiente codigo
'variable alltextox Dim Alltextbox As New TextBoxClase 'pone todos los texbox en el color que se especifique Alltextbox.All_Textbox_In_Form_A_Un_Solo_Color(Me) = Color.Red
nota en todos los codigos se Usa "ME" simbolisado que es el formulario de donde cargaras los cambios de los textbox
agreaga para cuantos textbox quieras y veras que se quedaran con el color que has especificado.
en esta linea Alltextbox.All_Textbox_In_Form_A_Un_Solo_Color(Me) = Color.Red
puedes cambiarla a cual quier color para los texbox cambiando solo la parte q se iguala = ejemplo puedes ponerla asi
Alltextbox.All_Textbox_In_Form_A_Un_Solo_Color(Me) = Color.Black
MARCA COMO RESPUESTA A ESTE COMENTARIO SI TE HA AYUDADO CON LO QUE NECESITAS
Saludos...
Melvin..
MARCA COMO RESPUESTA A ESTE COMENTARIO SI TE HA AYUDADO CON LO QUE NECESITAS
Saludos...
Melvin..- Editado Melvindev miércoles, 17 de junio de 2009 6:43 Actualizacion
- Propuesto como respuesta Melvindev miércoles, 17 de junio de 2009 6:46
- Marcado como respuesta RiveraCorrea miércoles, 17 de junio de 2009 6:55
martes, 16 de junio de 2009 19:52
Todas las respuestas
-
AL PRINCIPIO PUEDE PARECER DIFICIL O COLPLEJO PERO ES MUY SENCILLO :
ms-help://MS.VSCC.v90/MS.msdnexpress.v90.es/dv_vbcnexpress/html/e90c296f-07c9-49c4-8ba8-722820d61709.htm
EN ESTA KOMO EMPEZAR Y UN EJEMPLO DE UNA CLASE CON UN TextBox seria el sigiente
1 .- en el menu archivo crea un un NUEVO PROYEVTO
se creara un proyecto y se crea un formulario y una clase que implementa
2 .- añade al formulario del cuadro de harramientas un Button un Label y un TextBox
3 .- hazle doble clik sobre el botón y agraga : --- TextBox1.Text = " loque quieras poner " --------------
Public Class Form1 Dim Vertor As String = " Jeje Como Andas " Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = " Hola mundo " Label1.Text = Vertor End Sub End Class
-- la clase se quedara como ese codigo
Explicacion
se llama la DLL del TEXTBOX1 y lugo su propiedad TEXT y entre comillas " " se ponen cadenas
- Propuesto como respuesta IvanDjMaketron martes, 16 de junio de 2009 7:19
- Editado IvanDjMaketron martes, 16 de junio de 2009 18:02
martes, 16 de junio de 2009 7:15 -
hola ivan, en realidad no comprendo el ejmeplo, en el caso de lo que quiero realizar como crearia la clase y como hago para que funcione en cada textboxmartes, 16 de junio de 2009 14:00
-
hOLA CREATE EL PROYECTO dE WINDOWS FORM DEL CUADRO DE ERRAMIENTAS AGREGA DOS TEXTBOX Y PON EL SIGUIENTE CODIGO
EN ELE TEXTBOX1 EN EL EVENTO CLICK DEL TEXTBOX1 AGREGA EL CODIGO SIGUIENTE
Me.TextBox1.BackColor = Color.Red
Me.TextBox2.BackColor = Color.White
EN EL TEXTBOX2 EN EL EVENTO EVENTO CLICK DEL TEXTBOX1 AGREGA EL CODIGO SIGUIENTE
Me.TextBox2.BackColor = Color.Red
Me.TextBox1.BackColor = Color.White
Y ASI SUCESIVAMENTE SE JUEGAN CON LOS COLORES CADA VES QUE HAGAS CLICK EN EL TEXTBOX1 ESTE COMABIARA DE COLOR BALANCO A ROJO Y CADA VEZ QUE HAGAS CLICK EN EL TEXTBO2 EL TEXBOX1 CAMBIARA DE COLOR A BALANCO Y EL TEXTBOX2 CAMBIARA DE COLOR A ROJO
MARCA COMO RESPUESTA A ESTE COMENTARIO SI TE HA AYUDADO CON LO QUE NECESITAS
puedes seguir preguntando tambien......
SALUDOS
melvinl.
Todo Es posible si se studia con exfuerso no importando los de mas Dios esta con nosotros y no hay mas sabiduria que la de Dios, Everything is posible if you study a lot wiht esforce , God Loves us and there isn't anybody like God....- Propuesto como respuesta Melvindev martes, 16 de junio de 2009 17:42
martes, 16 de junio de 2009 17:41 -
hola ivan, en realidad no comprendo el ejmeplo, en el caso de lo que quiero realizar como crearia la clase y como hago para que funcione en cada textbox
perdon por quitar la respuesta anteriormartes, 16 de junio de 2009 18:10 -
melvin, lo que me planteas esta bien, pero de esta forma me tocaria digitar el codigo cada vez que agregue un textbox, no hay una forma en la que los textbox que vaya agregando asuman cierto codigo para que no sea necesario volver a repetir el proceso me refiero a lo siguiente:
1.clase con codigo para textbox
esta clase que se encuentre el codigo que permite que cambie de color el fondo de los cuadros de texto
2. en el textox poner el codigo en el evento gotfocus o en el lost
clase.codigoquecambiaelcolor
no se si me hice entender.
graciasmartes, 16 de junio de 2009 19:05 -
Aqui te dejo la laclase creo que se te sera facil entenderla Analizala para ello
crea tu proyecto Windows Form
y ya que creastes el Proyecto
agrega dos controles textbox
vete al menu proyecto y se selecciona Agregar Clase se te agregara la clase
ahora borra todo el codigo que hay en la clase que acanbas de agregar pega el siguiente codigo
Public Class TextBoxClase Public Property GotFocus(ByVal Form As Form, ByVal Textbox As TextBox) As Color Get For Each texboxes As TextBox In Form.Controls.Owner.Controls If TypeOf texboxes Is TextBox Then Return Color.Red End If Next Return Nothing End Get Set(ByVal value As Color) Textbox.BackColor = value End Set End Property Public Property LostFocus(ByVal Form As Form, ByVal Textbox As TextBox) As Color Get For Each texboxes As TextBox In Form.Controls.Owner.Controls If TypeOf texboxes Is TextBox Then Return Color.Red End If Next Return Nothing End Get Set(ByVal value As Color) Textbox.BackColor = value End Set End Property Public Property All_Textbox_In_Form_A_Un_Solo_Color(ByVal Form As Form) As Color Get For Each texboxes As TextBox In Form.Controls.Owner.Controls If TypeOf texboxes Is TextBox Then texboxes.BackColor = All_Textbox_In_Form_A_Un_Solo_Color End If Next Return Nothing End Get Set(ByVal value As Color) For Each texboxes As TextBox In Form.Controls.Owner.Controls If TypeOf texboxes Is TextBox Then texboxes.BackColor = value End If Next End Set End Property End Class
ahora en en textbox1 en el evento TextBox1_GotFocus
pega el siguiente codigo
'creamos la variable para extraer las propiedades que creamos en la clase TextboxClases Dim textbox As New TextBoxClase 'igualo al color Green por que es el color que quiero que se ponga en el textbox1 al momento que el textbox1 recibe el foco textbox.GotFocus(Me, Me.TextBox1) = Color.Green
ahora en en textbox1 en el evento TextBox1_LostFocus
pega el siguiente codigo
'creamos la variable para extraer las propiedades que creamos en la clase TextboxClases Dim textbox As New TextBoxClase 'igualo el color Blanco porque es el color del textbox como predeterminado del textbox textbox.LostFocus(Me, Me.TextBox1) = Color.White
Nota: Puedes cambiar los colores que yo he piuesto a los colores que necesitas
los codigos que anterior puse tienen que ir en el evento TextBox1_GotFocus y LostFocus para que tengan enfecto si los quieres agregar a otro textbox ejemplo si tubieras otro textbox3 tendrias que poner el codigo siguiente
en textbox3 en el evento TextBox3_LostFocus
pega el siguiente codigo'creamos la variable para extraer las propiedades que creamos en la clase TextboxClases Dim textbox As New TextBoxClase textbox.GotFocus(Me, Me.TextBox3) = Color.red
en textbox3 en el evento TextBox3_LostFocus
pega el siguiente codigo'creamos la variable para extraer las propiedades que creamos en la clase TextboxClases
Dim textbox As New TextBoxClase 'igualo al color Green por que es el color que quiero que se ponga en el textbox3 al momento que el textbox3 recibe el foco textbox.GotFocus(Me, Me.TextBox3) = Color.Red
para que todos los texbox tengan un solo color todos al mismo tiempo en clase se encuentra el codigo
en el Evento Form1_Load de formulario agrega el siguiente codigo
'variable alltextox Dim Alltextbox As New TextBoxClase 'pone todos los texbox en el color que se especifique Alltextbox.All_Textbox_In_Form_A_Un_Solo_Color(Me) = Color.Red
nota en todos los codigos se Usa "ME" simbolisado que es el formulario de donde cargaras los cambios de los textbox
agreaga para cuantos textbox quieras y veras que se quedaran con el color que has especificado.
en esta linea Alltextbox.All_Textbox_In_Form_A_Un_Solo_Color(Me) = Color.Red
puedes cambiarla a cual quier color para los texbox cambiando solo la parte q se iguala = ejemplo puedes ponerla asi
Alltextbox.All_Textbox_In_Form_A_Un_Solo_Color(Me) = Color.Black
MARCA COMO RESPUESTA A ESTE COMENTARIO SI TE HA AYUDADO CON LO QUE NECESITAS
Saludos...
Melvin..
MARCA COMO RESPUESTA A ESTE COMENTARIO SI TE HA AYUDADO CON LO QUE NECESITAS
Saludos...
Melvin..- Editado Melvindev miércoles, 17 de junio de 2009 6:43 Actualizacion
- Propuesto como respuesta Melvindev miércoles, 17 de junio de 2009 6:46
- Marcado como respuesta RiveraCorrea miércoles, 17 de junio de 2009 6:55
martes, 16 de junio de 2009 19:52 -
ok gracias melvin
excelentemiércoles, 17 de junio de 2009 7:04