none
Datagridview color RRS feed

  • Pregunta

  • tengo un datagrid view de tres columnas donde la ultima columna es columnbutton .... y quiero que a la hora que le hago click al button..sala el panel de color y cuando escojo el color se pueda poneerle el color al button seleccionado.
    viernes, 3 de febrero de 2017 5:53

Todas las respuestas

  • Haroel,

    Puedes hacer uso del evento 'CellContentClick' que se desencadena cuando se hace clic en el contenido de una celda, en este caso sobre la superficie del botón incrustado en la celda (DataGridViewButtonColumn). Dentro del evento se crea una instancia de la clase ColorDialog y en caso el usuario haya seleccionado un color se establece el mismo a la propiedad BackColor del botón de la celda.

    Private Sub DataGridView1_CellContentClick(sender As Object, ...
    
    	Dim dgv = DirectCast(sender, DataGridView)
    
    	If dgv.Columns(e.ColumnIndex).Name = "ColButton" AndAlso e.RowIndex >= 0 Then
    		Using ColorD As New ColorDialog 'Crear una instancia de la clase ColorDialog
    			If ColorD.ShowDialog = DialogResult.OK Then '¿El usuario selecciono un color?
    				Dim Btn As DataGridViewButtonCell =
    					DirectCast(dgv(e.ColumnIndex, e.RowIndex), DataGridViewButtonCell)
    
    				Btn.FlatStyle = FlatStyle.Popup
    				Btn.Style.BackColor = ColorD.Color 'Establecer el color de fondo al botón
    			End If
    		End Using
    	End If
    
    End Sub



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.

    viernes, 3 de febrero de 2017 14:59