Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: PikachuDorado en Julio 20, 2016, 02:43:50 PM

Título: [SOLUCIONADO] Random Forecolor en evento clickbutton
Publicado por: PikachuDorado en Julio 20, 2016, 02:43:50 PM
Hola muchachos, estoy con un drama que no me deja vivir.
No se como darle color random a un Label al clickear un boton.

Es decir, tengo este modulo que copie por ahi, entiendo lo que hace. Me retorna 2 valores, pero como le paso esos valores a la propiedad del Label??


Module RandomColors
    Private m_Rnd As New Random
    ' Return a random QB color.
    Public Function RandomQBColor() As Color
        Dim color_num As Integer = m_Rnd.Next(0, 15)
        Return Color.FromArgb(QBColor(color_num) + _
            &HFF000000)
    End Function
    ' Return a random RGB color.
    Public Function RandomRGBColor() As Color
        Return Color.FromArgb(255, _
            m_Rnd.Next(0, 255), _
            m_Rnd.Next(0, 255), _
            m_Rnd.Next(0, 255))
    End Function
End Module


Se entiende mi duda? :(
La porcion de codigo del evento es esta:
  Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
        'Quiero que aca los Label cambien de ForeColor
        RandomQBColor()
        RandomRGBColor()

    End Sub
Título: Re:[VB.NET] Random Forecolor en evento clickbutton
Publicado por: grep en Julio 21, 2016, 02:44:28 PM
El módulo tiene dos procedimientos y, como lo veo yo, deberías usar solo uno de los dos para cambiar el color de un control.

Para cambiar el color de un control, en este caso un label, se suele utilizar la propiedad ForeColor (foreground color of the control). Esta propiedad requiere de un objeto tipo System.Drawing.Color, que es justamente lo que obtienes con el método Color.FromArgb(). Entonces, suponiendo que tienes un control Label1, puedes hacer:


Código (vbnet) [Seleccionar]
Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
    Me.Label1.ForeColor = RandomRGBColor()
End Sub


o

Código (vbnet) [Seleccionar]
Private Sub btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn4.Click
    Me.Label1.ForeColor = RandomQBColor()
End Sub


Saludos
Título: Re:[VB.NET] Random Forecolor en evento clickbutton
Publicado por: PikachuDorado en Julio 21, 2016, 03:15:00 PM
Genio! mil gracias, yo queria pasarle el parametro pero no entendia como.
Entonces despues del   =  le paso la funcion.

Joya gracias !