En .NET 3.5 formularios de Windows Tengo una vista de lista con "CheckBoxes" = true. ¿Es posible atenuar o desactivar algunos elementos para evitar que el usuario marque la casilla?Cómo deshabilita un elemento en control de vista de lista en .net 3.5
Respuesta
Puede usar las propiedades ListBoxItem.ForeColor y UseItemStyleForSubItems para que el elemento se vea atenuado. Use SystemColors.GrayText para elegir el color del tema para los elementos desactivados. Evite deshabilitar la selección, evita que el usuario use el teclado. Solo desactiva la casilla de verificación. Por ejemplo:
private void listView1_ItemCheck(object sender, ItemCheckEventArgs e) {
// Disable checking odd-numbered items
if (e.Index % 2 == 1) e.NewValue = e.CurrentValue;
}
Debe establecer la propiedad AutoCheck de la casilla de verificación en falso.
AutoCheck - Obtiene o establece un valor que indica si los valores comprobados o CheckState y el aspecto del CheckBox se cambian automáticamente cuando se hace clic en el CheckBox.
Actualmente solo se puede usar para el control de casilla de verificación.
Tienes que hacer tu propio para esto. Manejar la ListView
's ItemSelectionChanged
caso - si usted no quiere un artículo determinado a ser seleccionable, hacer esto:
e.Item.Selected = false;
Usted puede hacer un artículo en particular parece no seleccionable por canoso hacia fuera, cambiando el color de la fuente, etc.
Tomé recomendación Hans Passant - buena aproximación visual que en mi caso denota artículos no-viables. He aquí una muestra:
'Select all attachements in case user wants to mask or pick and choose
For i As Integer = 0 To lstView.Items.Count - 1
If Not Scan.SupportedMasking.Contains(Path.GetExtension(lstView.Items(i).Text)) Then
lstView.Items(i).ForeColor = SystemColors.GrayText
lstView.Items(i).Text += " (No masking supported)"
lstView.Items(i).BackColor = SystemColors.InactiveBorder
lstView.Items(i).Selected = False
Else
lstView.Items(i).Selected = True
End If
Next i
uso de este o establecer el DisplayMode para ver insted de edición!
public void SetItemEnabled(ListViewItem item, bool enabled)
{
if (item != null)
{
List<ListViewControl> lvControls = this.ListViewControls.FindAll(FindListViewControl(item));
foreach (ListViewControl lvControl in lvControls)
{
if (lvControl.Control != null)
{
lvControl.Control.Enabled = enabled;
}
}
}
}
- 1. ¿Es posible hacer un control genérico en .Net 3.5?
- 2. rellenar un control lista html usando .NET
- 3. string.join() en .NET 3.5
- 4. ¿Cómo obtener la vista de un elemento en la vista de lista en Android?
- 5. ¿Cómo instalar un servicio de Windows desarrollado en .NET 3.5?
- 6. Configuración de un atributo personalizado en un elemento de la lista en un control de selección de HTML (.NET/C#)
- 7. aleatoria en .Net 3.5
- 8. .NET Framework 3.5 no se instalará en VISTA 32bit
- 9. ¿Cómo puedo detectar .NET 3.5 en WiX?
- 10. Cambios de XmlSerializer en .NET 3.5 SP1
- 11. Android: Vista en lista Elemento seleccionado -1
- 12. Casilla de verificación en control de vista de lista
- 13. ¿Hay un GUID.TryParse() en .NET 3.5?
- 14. .NET 2.0 incluye en .NET 3.5 instalador?
- 15. Cómo usar Stream.CopyTo en .NET Framework 3.5?
- 16. Entrega de .Net 3.5 SP1
- 17. Hacer el diseño lineal seleccionable como un elemento de lista en una vista de lista (Android)
- 18. Wix 3.5 Iconos en un botón de control
- 19. jQuery FullCalendar: ¿Deshabilita el desplazamiento en la vista de agenda?
- 20. Asignación en árboles de expresión .NET 3.5
- 21. Ajustar vista de lista al elemento
- 22. Guardar archivo de un byte [] en C# NET 3.5
- 23. ¿Cómo puedo saltar a un elemento de una vista de lista en Android?
- 24. Elementos seleccionables Elemento de control en WPF
- 25. Cómo realizar una eliminación en la vista de lista que no está vinculada a un control
- 26. ¿Cómo enviar objetos a través de NamedPipe en .NET 3.5?
- 27. ¿Cómo instalo y uso el ASP.NET AJAX Control Toolkit en mis aplicaciones web .NET 3.5?
- 28. .NET 2.0 o 3.5?
- 29. .NET 3.5 falta de la lista desplegable de ASP.NET en IIS después de la nueva instalación
- 30. Cómo ocultar la barra de desplazamiento vertical en .NET Control ListView en modo Detalles
Gracias, esto funcionó para mí, pero asigna a e.NewValue CheckedState.Unchecked porque quería asegurarse de que se deja sin control, incluso si no era para empezar. –