Uso de un ColorDialog en Vb.net en tiempo de ejecución: "Ejemplo probado en VisualBasic.net 10"
En un form agregaremos un control Color Dialog al que llamaremos CD01, en el evento que ustedes más le guste colocaremos el siguiente código, "también podemos colocar el código en un botón", yo lo haré en el evento DoubleClick del form principal. En tiempo de ejecución al hacer DoubleClick en el form, aparecerá el cuadro de diálogo de colores de windows, al seleccionar el color que deseamos y presionar el botón Aceptar, nuestro form completo cambiará a dicho color.
Ejemplo:
Private Sub form_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.DoubleClick
If
CD01.ShowDialog = Windows.Forms.DialogResult.OK
Then
Me.BackColor = Color.FromArgb(255, CD01.Color)
End If
End Sub
Si queremos hacerlo sobre cualquier otro control como un Panel, Button, Label, y queremos darle un color con efecto de transparencia, haremos lo mismo pero con una pequeña diferencia, el ejemplo a continuación lo haremos con un label al que llamaremos label1, agregaremos a nuestro form un label y un button y colocaremos el código dentro del evento Click del button.
Ejemplo:
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles Button1.Click
If
CD01.ShowDialog = Windows.Forms.DialogResult.OK
Then
label1.BackColor = Color.FromArgb(200, CD01.Color)
End If
End Sub
Como podrán ver el efecto de transparencia lo podemos modificar de menor a mayor de (0-255) en el valor que le asignamos a "Alfa" según la tabla de colores Argb dentro de la sentencia:
label1.BackColor = Color.FromArgb(200, CD01.Color)
Saludos - YoBinario