DrawListViewSubItemEventArgs.ItemState Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u de huidige status op van het bovenliggende ListViewItem item ListViewItem.ListViewSubItem dat moet worden getekend.
public:
property System::Windows::Forms::ListViewItemStates ItemState { System::Windows::Forms::ListViewItemStates get(); };
public System.Windows.Forms.ListViewItemStates ItemState { get; }
member this.ItemState : System.Windows.Forms.ListViewItemStates
Public ReadOnly Property ItemState As ListViewItemStates
Waarde van eigenschap
Een bitsgewijze combinatie van ListViewItemStates waarden die de huidige status van het bovenliggende ListViewItemitem aangeven.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de ItemState eigenschap gebruikt in een toepassing die aangepaste tekening voor een ListView besturingselement biedt. In het voorbeeld tekent een handler voor de ListView.DrawSubItem gebeurtenis de tekstwaarden van het subitem en zowel de tekst als de achtergrond voor subitems met negatieve waarden.
Zie het overzichtsonderwerp voor het DrawListViewSubItemEventArgs volledige voorbeeld.
// Draws subitem text and applies content-based formatting.
private void listView1_DrawSubItem(object sender,
DrawListViewSubItemEventArgs e)
{
TextFormatFlags flags = TextFormatFlags.Left;
using (StringFormat sf = new StringFormat())
{
// Store the column text alignment, letting it default
// to Left if it has not been set to Center or Right.
switch (e.Header.TextAlign)
{
case HorizontalAlignment.Center:
sf.Alignment = StringAlignment.Center;
flags = TextFormatFlags.HorizontalCenter;
break;
case HorizontalAlignment.Right:
sf.Alignment = StringAlignment.Far;
flags = TextFormatFlags.Right;
break;
}
// Draw the text and background for a subitem with a
// negative value.
double subItemValue;
if (e.ColumnIndex > 0 && Double.TryParse(
e.SubItem.Text, NumberStyles.Currency,
NumberFormatInfo.CurrentInfo, out subItemValue) &&
subItemValue < 0)
{
// Unless the item is selected, draw the standard
// background to make it stand out from the gradient.
if ((e.ItemState & ListViewItemStates.Selected) == 0)
{
e.DrawBackground();
}
// Draw the subitem text in red to highlight it.
e.Graphics.DrawString(e.SubItem.Text,
listView1.Font, Brushes.Red, e.Bounds, sf);
return;
}
// Draw normal text for a subitem with a nonnegative
// or nonnumerical value.
e.DrawText(flags);
}
}
' Draws subitem text and applies content-based formatting.
Private Sub listView1_DrawSubItem(ByVal sender As Object, _
ByVal e As DrawListViewSubItemEventArgs) _
Handles listView1.DrawSubItem
Dim flags As TextFormatFlags = TextFormatFlags.Left
Dim sf As New StringFormat()
Try
' Store the column text alignment, letting it default
' to Left if it has not been set to Center or Right.
Select Case e.Header.TextAlign
Case HorizontalAlignment.Center
sf.Alignment = StringAlignment.Center
flags = TextFormatFlags.HorizontalCenter
Case HorizontalAlignment.Right
sf.Alignment = StringAlignment.Far
flags = TextFormatFlags.Right
End Select
' Draw the text and background for a subitem with a
' negative value.
Dim subItemValue As Double
If e.ColumnIndex > 0 AndAlso _
Double.TryParse(e.SubItem.Text, NumberStyles.Currency, _
NumberFormatInfo.CurrentInfo, subItemValue) AndAlso _
subItemValue < 0 Then
' Unless the item is selected, draw the standard
' background to make it stand out from the gradient.
If (e.ItemState And ListViewItemStates.Selected) = 0 Then
e.DrawBackground()
End If
' Draw the subitem text in red to highlight it.
e.Graphics.DrawString(e.SubItem.Text, _
Me.listView1.Font, Brushes.Red, e.Bounds, sf)
Return
End If
' Draw normal text for a subitem with a nonnegative
' or nonnumerical value.
e.DrawText(flags)
Finally
sf.Dispose()
End Try
End Sub
Opmerkingen
Gebruik deze eigenschap om te controleren of het ListViewItem bovenliggende item van de ListViewItem.ListViewSubItem te tekenen een bepaalde status heeft. Deze eigenschap biedt alleen basisstatusinformatie over het bovenliggende item. U kunt deze eigenschap bijvoorbeeld gebruiken om te bepalen of het bovenliggende item is geselecteerd, ingeschakeld of gericht is. Als u meer wilt weten, haalt u het bovenliggende item via de Item eigenschap op en controleert u de eigenschappen ervan rechtstreeks.