locked
Como crear clases en vb RRS feed

  • 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.

    gracias

    martes, 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  
     

     

     y en explorador de soluciones puedes crear un archivo   Clase.vb  y puedes comunicarlos de muchas maneras ; creando instancias del que quieres usar , Funciones , ......

        
    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 textbox
    martes, 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 anterior
    martes, 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.

    gracias
    martes, 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

    excelente
    miércoles, 17 de junio de 2009 7:04