DrawListViewSubItemEventArgs.DrawText Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nakreslí text objektu ListViewItem.ListViewSubItem pomocí aktuální barvy popředí a výchozího formátování.
Přetížení
DrawText() |
Nakreslí text objektu ListViewItem.ListViewSubItem pomocí aktuální barvy popředí. |
DrawText(TextFormatFlags) |
Nakreslí text objektu ListViewItem.ListViewSubItem pomocí aktuální barvy popředí a naformátuje ho pomocí zadaných TextFormatFlags hodnot. |
DrawText()
Nakreslí text objektu ListViewItem.ListViewSubItem pomocí aktuální barvy popředí.
public:
void DrawText();
public void DrawText ();
member this.DrawText : unit -> unit
Public Sub DrawText ()
Poznámky
Pomocí této metody nakreslete podřízený text pomocí aktuálních ListViewItem.ListViewSubItem.ForeColor hodnot vlastností a ListViewItem.ListViewSubItem.Font . Text je nakreslen v oblasti určené Bounds vlastností.
Poznámka
Vlastnost UseItemStyleForSubItems nadřazené ListViewItem položky musí být nastavena na false
, aby se zabránilo ListViewItem.ForeColor přepsání hodnot a ListViewItem.Font nadřazené položky.
Viz také
Platí pro
DrawText(TextFormatFlags)
Nakreslí text objektu ListViewItem.ListViewSubItem pomocí aktuální barvy popředí a naformátuje ho pomocí zadaných TextFormatFlags hodnot.
public:
void DrawText(System::Windows::Forms::TextFormatFlags flags);
public void DrawText (System.Windows.Forms.TextFormatFlags flags);
member this.DrawText : System.Windows.Forms.TextFormatFlags -> unit
Public Sub DrawText (flags As TextFormatFlags)
Parametry
- flags
- TextFormatFlags
Bitové kombinace TextFormatFlags hodnot.
Příklady
Následující příklad kódu ukazuje, jak použít metodu DrawText v aplikaci, která poskytuje vlastní výkres pro ovládací prvek ListView . V příkladu obslužná rutina události ListView.DrawSubItem nakreslí textové hodnoty podřízené položky a text a pozadí pro podřízené položky, které mají záporné hodnoty.
Úplný příklad najdete v tématu s referenčními informacemi o přehledu DrawListViewSubItemEventArgs .
// 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
Poznámky
Pomocí této metody nakreslete podřízený text pomocí aktuálních ListViewItem.ListViewSubItem.ForeColor hodnot vlastností a ListViewItem.ListViewSubItem.Font . Text je nakreslen v oblasti určené Bounds vlastností. Hodnoty TextFormatFlags zadané v parametru flags
umožňují zadat vlastnosti formátování pro popisek uzlu, například zarovnání textu.
Poznámka
Vlastnost UseItemStyleForSubItems nadřazené ListViewItem položky musí být nastavena na false
, aby se zabránilo ListViewItem.ForeColor přepsání hodnot a ListViewItem.Font nadřazené položky.
Viz také
- Bounds
- ListView
- DrawSubItem
- UseItemStyleForSubItems
- ListViewItem.ListViewSubItem
- Font
- ForeColor
- StringFormat