DrawListViewItemEventArgs.State Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el estado actual del control ListViewItem que se va a dibujar.
public:
property System::Windows::Forms::ListViewItemStates State { System::Windows::Forms::ListViewItemStates get(); };
public System.Windows.Forms.ListViewItemStates State { get; }
member this.State : System.Windows.Forms.ListViewItemStates
Public ReadOnly Property State As ListViewItemStates
Valor de propiedad
Combinación bit a bit de valores ListViewItemStates que indican el estado actual del control ListViewItem.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la State propiedad en una aplicación que proporciona un dibujo personalizado para un ListView control . En el ejemplo, un controlador para el ListView.DrawItem evento dibuja el fondo de elementos completos. En todas las vistas excepto la vista de detalles, este controlador también dibuja el texto en primer plano. En la vista de detalles, el texto en primer plano se dibuja en el ListView.DrawSubItem evento .
Para obtener el ejemplo completo, consulte el DrawListViewItemEventArgs tema de referencia de información general.
// 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 entire ListView items.
Private Sub listView1_DrawItem(ByVal sender As Object, _
ByVal e As DrawListViewItemEventArgs) _
Handles listView1.DrawItem
If Not (e.State And ListViewItemStates.Selected) = 0 Then
' Draw the background for a selected item.
e.Graphics.FillRectangle(Brushes.Maroon, e.Bounds)
e.DrawFocusRectangle()
Else
' Draw the background for an unselected item.
Dim brush As New LinearGradientBrush(e.Bounds, Color.Orange, _
Color.Maroon, LinearGradientMode.Horizontal)
Try
e.Graphics.FillRectangle(brush, e.Bounds)
Finally
brush.Dispose()
End Try
End If
' Draw the item text for views other than the Details view.
If Not Me.listView1.View = View.Details Then
e.DrawText()
End If
End Sub
Comentarios
Utilice esta propiedad para comprobar si el ListViewItem que se va a dibujar está en un estado determinado. Esta propiedad solo proporciona información de estado básica sobre el elemento. Puede usar esta propiedad, por ejemplo, para determinar si un elemento está seleccionado, activado o centrado. Si necesita más información, recupere el elemento a través de la Item propiedad y compruebe sus propiedades directamente.