¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

ListViewItemStates (Enumeración)

Define constantes que representan los posibles estados de ListViewItem.

La enumeración tiene un atributo FlagsAttribute que permite una combinación bit a bit de los valores de miembro.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

[FlagsAttribute] 
public enum ListViewItemStates
/** @attribute FlagsAttribute() */ 
public enum ListViewItemStates
FlagsAttribute 
public enum ListViewItemStates

 Nombre de miembroDescripción
CheckedEl elemento está activado. 
DefaultEl elemento está en su estado predeterminado. 
FocusedEl elemento tiene foco. 
GrayedEl elemento está desactivado. 
HotEl elemento está actualmente bajo el puntero del mouse. 
IndeterminateEl elemento está en un estado indeterminado. 
MarkedEl elemento está marcado. 
SelectedEl elemento está seleccionado. 
ShowKeyboardCuesEl elemento debe indicar un método abreviado de teclado. 

Las propiedades DrawListViewItemEventArgs.State y DrawListViewSubItemEventArgs.ItemState utilizan esta enumeración. Para obtener más información, vea los eventos ListView.DrawItem y ListView.DrawSubItem.

El siguiente ejemplo muestra cómo proporcionar dibujos personalizados a un control ListView. En el ejemplo, el control ListView tiene un fondo degradado. Los subelementos con valores negativos tienen un primer plano de color rojo y un fondo de color negro.

Un controlador del evento ListView.DrawItem dibuja el fondo de todos los elementos y de la fila de los encabezados de la columna. Un controlador del evento ListView.DrawSubItem dibuja los valores de texto así como el texto y el fondo de los subelementos con valores negativos.

Un componente ContextMenu proporciona una manera de cambiar entre la vista de detalles y la vista de lista. En la vista de lista, sólo se desencadena el evento ListView.DrawItem. En este caso, el texto y el fondo se dibujan ambos en el controlador de eventos ListView.DrawItem.

Para obtener el ejemplo completo, vea el tema referente a ListView.OwnerDraw.

// Draws the backgrounds for entire ListView items.
private void listView1_DrawItem(object sender,
    DrawListViewItemEventArgs e)
{
    if ((e.State & ListViewItemStates.Selected) != 0)
    {
        // Draw the background and focus rectangle for a selected item.
        e.Graphics.FillRectangle(Brushes.Maroon, e.Bounds);
        e.DrawFocusRectangle();
    }
    else
    {
        // Draw the background for an unselected item.
        using (LinearGradientBrush brush =
            new LinearGradientBrush(e.Bounds, Color.Orange,
            Color.Maroon, LinearGradientMode.Horizontal))
        {
            e.Graphics.FillRectangle(brush, e.Bounds);
        }
    }

    // Draw the item text for views other than the Details view.
    if (listView1.View != View.Details)
    {
        e.DrawText();
    }
}

// Draws the backgrounds for the column header row and for entire
// ListView items.
private void myListView_DrawItem(Object sender, DrawListViewItemEventArgs e)
{
    // Draw the background for the column header row.
    if (e.get_ItemIndex() == -1) {
        e.get_Item().set_BackColor(Color.get_Black());
        e.DrawBackground();
    }
    // Draw the background for a selected item.
    else {
        if (Convert.ToInt32((e.get_State() & ListViewItemStates.Selected))
            != 0) {
            e.get_Graphics().FillRectangle(Brushes.get_Maroon(),
                e.get_Bounds());
            e.DrawFocusRectangle();
        }
        // Draw the background for an unselected item.
        else {
            LinearGradientBrush myBrush = new LinearGradientBrush(
                e.get_Bounds(), Color.get_Orange(), Color.get_Maroon(),
                LinearGradientMode.Horizontal);
            try {
                e.get_Graphics().FillRectangle(myBrush, e.get_Bounds());
            }
            finally {
                myBrush.Dispose();
            }    
        }
    }
    // Draw the item text for views other than the Details view.
    if (!(((ListView)sender).get_View().Equals(View.Details))) {
        e.DrawText();
    }
} //myListView_DrawItem

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar:
© 2015 Microsoft