Tengo DataGridView
donde una de las columnas es DataGridViewComboBoxColumn
. Cuando se llena la cuadrícula, esa columna se ve diferente debido a la flecha desplegable que aparece en cada celda de la columna. Me gustaría cambiar esto para que la flecha desplegable esté oculta y solo aparezca cuando la fila esté realmente resaltada o cuando se seleccione la celda del cuadro combinado para su edición. El comportamiento que quería es como la ventana Propiedades de en Visual Studio maneja sus valores.¿Cómo puedo ocultar la flecha desplegable de un DataGridViewComboBoxColumn como la ventana Propiedades de Visual Studio?
6
A
Respuesta
9
En el DataGridViewComboBoxColumn
, hay una propiedad llamada DisplayStyle
. Configurarlo para Nothing
para ocultar la DropDownButton
Más información sobre el DataGridViewComboBoxDisplayStyle
enumeración está disponible en este MSDN link
0
Me tomó un tiempo para encontrar esto, pero lo anterior era la respuesta mezclada con un par de otras páginas.
Esta es la forma de ocultar el menú desplegable de una cuadrícula basándose en un valor en uno diferente. El valorToCheck debe estar en una celda antes del que contiene el menú desplegable que desea ocultar.
Private Sub dgv_CellPainting(ByVal sender As Object, ByVal e As
DataGridViewCellPaintingEventArgs) Handles dgv.CellPainting
'Pages Grid needs to be edited when rendering
If (e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0) Then
Dim valueToCheck = dgv.Rows(e.RowIndex).Cells(2).Value
If (valueToCheck <> "True") Then
Dim thisCol = DirectCast(dgv.Rows(e.RowIndex).Cells(e.ColumnIndex), DataGridViewComboBoxCell)
thisCol.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing
e.PaintBackground(e.ClipBounds, False)
e.Handled = True
End If
End If
End Sub
0
Si establece DataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = True
, a continuación, en el menú desplegable sólo aparece cuando la célula es la célula actual.
Cuestiones relacionadas
- 1. ¿Cómo puedo diseñar un cuadro de selección html para omitir la flecha desplegable para imprimir?
- 2. ¿Aplansar miembros heredados en la ventana Inspección de Visual Studio?
- 3. guardar datos de la ventana de memoria de Visual Studio
- 4. OrchardCMS desplegable en visual studio
- 5. Visual Studio ventana de comandos
- 6. Visual Studio 2010 Express. Escribir en la ventana de salida
- 7. Visual Studio Design Time Property - Lista de formularios desplegable
- 8. Visual Studio 2010 Fuente de la ventana de memoria
- 9. Configuración de propiedades de instalación de la ventana, como autor, descripción
- 10. ¿Cómo evitar que Visual Studio cree la carpeta "Propiedades"?
- 11. ¿Cómo puedo ordenar campos, propiedades y métodos en Visual Studio?
- 12. Valor devuelto en la ventana Autos de Visual Studio
- 13. Propiedades de autogeneración de Visual Studio
- 14. Ubicación de la ventana de Visual Studio Console
- 15. ¿Cómo construyes un Visual Studio como UI?
- 16. ocultar la ventana de la consola de un programa C
- 17. La implementación de Visual Studio IntelliSense
- 18. Ocultar JComBox Caja Flecha
- 19. Ocultar la ventana de la consola desde Process.Start C#
- 20. ocultar la ventana de negro en C++
- 21. GCC/C ¿cómo ocultar la ventana de la consola?
- 22. ¿Cómo ocultar la flecha en el lado derecho de una barra de herramientas?
- 23. La opción desplegable Modificador de acceso de Visual Studio está deshabilitada para el archivo de recursos
- 24. Detectar clave de flecha: KeyDown para toda la ventana
- 25. cómo configurar la ventana de la consola visual studio de una vez por todas
- 26. Redirigir la salida (stdout, stderr) de un proceso hijo a la ventana Resultados de Visual Studio
- 27. Cambiar el color y el aspecto de la flecha desplegable
- 28. Chrome> Visual Studio, la ventana nueva pestaña no
- 29. ¿Puedo invocar una API de Win32 desde la ventana Inmediato de Visual Studio?
- 30. Ocultar botón de flecha en ComboBox en C#, VS2008
¡Perfecto! Justo lo que estaba buscando. – dawntrader
En ese caso, podría ser una buena idea marcarlo como la respuesta aceptada – Joe
La configuración 'DataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = True' es otra opción. – SSS