none
No me deja agregar Borde a picture RRS feed

  • Pregunta

  • Buenas 

    Tengo este codigo y no puedo agregar a los picture el borde

    me lanza este error

    Gracias

    Sub Recursivo_Picture(c As Control)
            For Each ctrl As Control In c.Controls
                If TypeOf ctrl Is PictureBox Then
    
                    AddHandler (ctrl.MouseEnter), AddressOf MouseEnter_All_Picture
                    AddHandler (ctrl.MouseLeave), AddressOf MouseLeave_All_Picture
    
                Else
                    Recursivo_Picture(ctrl)
                End If
            Next
        End Sub
    
        Private Sub MouseEnter_All_Picture(sender As Object, e As System.EventArgs)
            Dim ctrl As Control = DirectCast(sender, Control)
            If TypeOf ctrl Is PictureBox Then
                If ctrl.Name.Contains("PBT_") = True Then
                    '' ''ctrl.BorderStyle = BorderStyle.FixedSingle
                    ctrl.Size = New Size(67, 107)
                    ctrl.BackColor = Color.DarkOrange
    
                   
                End If
            End If
    
        End Sub
    
        Private Sub MouseLeave_All_Picture(sender As Object, e As System.EventArgs)
            Dim ctrl As Control = DirectCast(sender, Control)
            If TypeOf ctrl Is PictureBox Then
                If ctrl.Name.Contains("PBT_") = True Then
                    '' ''ctrl.BorderStyle = BorderStyle.None
                    ctrl.Size = New Size(65, 105)
                    ctrl.BackColor = Color.Transparent
                End If
            End If
    
        End Sub


    • Editado JETET lunes, 18 de diciembre de 2017 10:32
    lunes, 18 de diciembre de 2017 10:32

Respuestas

  • El error te lo da porque estás usando una variable de tipo Control y ese tipo no tiene la propiedad BorderStyle.

    Cambia el código para utilizar una variable de tipo PictureBox:

    Private Sub MouseEnter_All_Picture(sender As Object, e As System.EventArgs)

        If TypeOf sender Is PictureBox Then

    Dim ctrl As PictureBox = DirectCast(sender, PictureBox)

            If ctrl.Name.Contains("PBT_") = True Then

                ctrl.BorderStyle = BorderStyle.FixedSingle
                ctrl.Size = New Size(67, 107)
                ctrl.BackColor = Color.DarkOrange

                   
            End If
        End If
    End Sub


    Saludos, Javier J

    • Propuesto como respuesta Pablo Rubio lunes, 18 de diciembre de 2017 15:36
    • Marcado como respuesta JETET lunes, 18 de diciembre de 2017 17:30
    lunes, 18 de diciembre de 2017 11:25

Todas las respuestas

  • El error te lo da porque estás usando una variable de tipo Control y ese tipo no tiene la propiedad BorderStyle.

    Cambia el código para utilizar una variable de tipo PictureBox:

    Private Sub MouseEnter_All_Picture(sender As Object, e As System.EventArgs)

        If TypeOf sender Is PictureBox Then

    Dim ctrl As PictureBox = DirectCast(sender, PictureBox)

            If ctrl.Name.Contains("PBT_") = True Then

                ctrl.BorderStyle = BorderStyle.FixedSingle
                ctrl.Size = New Size(67, 107)
                ctrl.BackColor = Color.DarkOrange

                   
            End If
        End If
    End Sub


    Saludos, Javier J

    • Propuesto como respuesta Pablo Rubio lunes, 18 de diciembre de 2017 15:36
    • Marcado como respuesta JETET lunes, 18 de diciembre de 2017 17:30
    lunes, 18 de diciembre de 2017 11:25
  • Gracias por responder javier

    Al final no me ha valido, por que al crear el borde me crea mas problemas que dejarlo fijo

    Asi que lo he dejado fijo

    gracias

    lunes, 18 de diciembre de 2017 17:30