DrawListViewItemEventArgs.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 pomocí aktuální barvy popředí a výchozího formátování.
Přetížení
DrawText() |
Nakreslí text objektu ListViewItem pomocí aktuální barvy popředí. |
DrawText(TextFormatFlags) |
Nakreslí text objektu ListViewItem pomocí aktuální barvy popředí a naformátuje ho pomocí zadaných TextFormatFlags hodnot. |
DrawText()
Nakreslí text objektu ListViewItem pomocí aktuální barvy popředí.
public:
void DrawText();
public void DrawText ();
member this.DrawText : unit -> unit
Public Sub DrawText ()
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 ListView.DrawItem události vykreslí pozadí pro celé položky. Ve všech zobrazeních kromě zobrazení podrobností tato obslužná rutina také nakreslí text na popředí. V zobrazení podrobností se text na popředí vykreslí v ListView.DrawSubItem události.
Úplný příklad najdete v tématu s referenčními informacemi k přehledu DrawListViewItemEventArgs .
// 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
Poznámky
Pomocí této metody nakreslete text položky pomocí aktuálních ListViewItem.ForeColor hodnot vlastností a ListViewItem.Font . Text se vykreslí v oblasti určené Bounds vlastností . Text můžete také nakreslit ručně pomocí objektu Graphics načteného prostřednictvím Graphics vlastnosti .
Metoda DrawText je nejužitečnější, když ListView.View je vlastnost nastavená na jinou hodnotu než View.Details. V zobrazení podrobností tato metoda vykreslí text pro ListViewItem, ale nekreslí text pro podřízené položky. Proto je v zobrazení podrobností obecně vhodnější nakreslit veškerý ListView text v obslužné rutině ListView.DrawSubItem události.
Viz také
Platí pro
DrawText(TextFormatFlags)
Nakreslí text objektu ListViewItem 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.
Poznámky
Pomocí této metody nakreslete text položky pomocí aktuálních ListViewItem.ForeColor hodnot vlastností a ListViewItem.Font . Hodnoty TextFormatFlags zadané v parametru flags
umožňují zadat vlastnosti formátování popisku uzlu, například zarovnání textu. Text se vykreslí v oblasti určené Bounds vlastností . Text můžete také nakreslit ručně pomocí objektu Graphics načteného prostřednictvím Graphics vlastnosti .
Metoda DrawText je nejužitečnější, když ListView.View je vlastnost nastavená na jinou hodnotu než View.Details. V zobrazení podrobností tato metoda vykreslí text pro ListViewItem, ale nekreslí text pro podřízené položky. Proto je v zobrazení podrobností obecně vhodnější nakreslit veškerý ListView text v obslužné rutině ListView.DrawSubItem události.