DrawListViewSubItemEventArgs.DrawText 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用 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 值覆寫子專案值。
另請參閱
- Bounds
- ListView
- DrawSubItem
- UseItemStyleForSubItems
- ListViewItem.ListViewSubItem
- Font
- ForeColor
- StringFormat