Pregunta

Tengo un control ListView, y estoy tratando de averiguar la forma más fácil y mejor manera de no permitir el cambio de la fila seleccionada(s), sin ocultar la fila seleccionada(s).

Yo sé que hay una HideSelection la propiedad, pero que sólo funciona cuando el ListView todavía está habilitado (pero no centrado).Necesito la selección para ser visibles incluso cuando el control está desactivado.

¿Cómo puedo aplicar esto?

¿Fue útil?

Solución

También puedes hacer el ListView ownerdraw.Entonces usted tiene el control completo sobre cómo los elementos de mirar si están seleccionados o no, o si el ListView en sí está habilitado o no.El DrawListViewItemEventArgs proporciona una manera para pedir el ListView para dibujar las partes individuales de los artículos, de modo que usted sólo tiene que dibujar los bits que le interesa.Por ejemplo, puede dibujar el fondo de un elemento, sino que dejan a la ListView para dibujar el texto.

Otros consejos

Hay dos opciones, cambiar las filas seleccionadas movilidad colores.O cambiar todas las otras filas para simular que están desactivadas excepto el seleccionado.La primera opción es, obviamente, la forma más fácil, y la segunda opción, obviamente, va a necesitar un poco más de protección.

Me han hecho la primera opción antes y funciona bastante bien.Sólo tienes que recordar para cambiar los colores de la espalda a los valores predeterminados en caso de que otro está seleccionada la fila más adelante en el proceso.

Implementar SelectedIndexChanged y hacer esto

    private void listViewABC_SelectedIndexChanged(object sender, EventArgs e)
    {
        listViewABC.SelectedItems.Clear();
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top