DrawListViewSubItemEventArgs.DrawText 方法

定義

使用 ListViewItem.ListViewSubItem 目前的前景色彩和預設格式來繪製它的文字。

多載

DrawText()

使用 ListViewItem.ListViewSubItem 目前的前景色彩來繪製它的文字。

DrawText(TextFormatFlags)

使用 ListViewItem.ListViewSubItem 目前的前景色彩繪製它的文字,並利用指定的 TextFormatFlags 值設定格式。

DrawText()

使用 ListViewItem.ListViewSubItem 目前的前景色彩來繪製它的文字。

public:
 void DrawText();
public void DrawText ();
member this.DrawText : unit -> unit
Public Sub DrawText ()

備註

使用這個方法,使用 和 ListViewItem.ListViewSubItem.Font 屬性的目前值 ListViewItem.ListViewSubItem.ForeColor 來繪製子專案文字。 文字會繪製在 屬性所 Bounds 指定的區域內。

注意

UseItemStyleForSubItemsListViewItem 專案的 屬性必須設定為 false ,以防止 ListViewItem.ForeColor 父專案的 和 ListViewItem.Font 值覆寫子專案值。

另請參閱

適用於

DrawText(TextFormatFlags)

使用 ListViewItem.ListViewSubItem 目前的前景色彩繪製它的文字,並利用指定的 TextFormatFlags 值設定格式。

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)

參數

flags
TextFormatFlags

TextFormatFlags 值的位元組合。

範例

下列程式碼範例示範如何在提供控制項自訂繪圖 ListView 的應用程式中使用 DrawText 方法。 在此範例中 ListView.DrawSubItem ,事件的處理常式會繪製子專案文字值,以及具有負值的子專案的文字和背景。

如需完整的範例,請參閱 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

備註

使用這個方法,使用 和 ListViewItem.ListViewSubItem.Font 屬性的目前值 ListViewItem.ListViewSubItem.ForeColor 來繪製子專案文字。 文字會繪製在 屬性所 Bounds 指定的區域內。 參數 TextFormatFlags 中指定的 flags 值可讓您提供節點標籤的格式屬性,例如文字對齊方式。

注意

UseItemStyleForSubItemsListViewItem 專案的 屬性必須設定為 false ,以防止 ListViewItem.ForeColor 父專案的 和 ListViewItem.Font 值覆寫子專案值。

另請參閱

適用於