DrawListViewItemEventArgs.DrawText 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用 ListViewItem 的当前前景色和默认格式设置绘制它的文本。
重载
DrawText() |
使用 ListViewItem 的当前前景色绘制它的文本。 |
DrawText(TextFormatFlags) |
使用 ListViewItem 的当前前景色以及由指定的 TextFormatFlags 值设置的格式绘制它的文本。 |
DrawText()
使用 ListViewItem 的当前前景色绘制它的文本。
public:
void DrawText();
public void DrawText ();
member this.DrawText : unit -> unit
Public Sub DrawText ()
示例
下面的代码示例演示如何在为控件提供自定义绘图ListView的应用程序中使用 DrawText 方法。 在此示例中,事件的处理程序 ListView.DrawItem 绘制整个项的背景。 在除详细信息视图之外的所有视图中,此处理程序还会绘制前景文本。 在详细信息视图中,将在 事件中 ListView.DrawSubItem 绘制前景文本。
有关完整示例,请参阅 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
注解
使用此方法可以使用 和 ListViewItem.Font 属性的ListViewItem.ForeColor当前值绘制项文本。 文本在 属性指定的 Bounds 区域内绘制。 还可以使用 Graphics 通过 Graphics 属性检索的 手动绘制文本。
当 DrawText 属性设置为 以外的View.Details值时, ListView.View 方法最有用。 在详细信息视图中,此方法为 ListViewItem绘制文本,但不绘制子项的文本。 因此,在详细信息视图中,在事件的处理程序ListView.DrawSubItem中绘制所有ListView文本通常更方便。
另请参阅
适用于
DrawText(TextFormatFlags)
使用 ListViewItem 的当前前景色以及由指定的 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 值的按位组合。
注解
使用此方法可以使用 和 ListViewItem.Font 属性的ListViewItem.ForeColor当前值绘制项文本。 通过 TextFormatFlags 参数中指定的 flags
值,可以为节点标签提供格式设置属性,例如文本对齐方式。 文本在 属性指定的 Bounds 区域内绘制。 还可以使用 Graphics 通过 Graphics 属性检索的 手动绘制文本。
当 DrawText 属性设置为 以外的View.Details值时, ListView.View 方法最有用。 在详细信息视图中,此方法为 ListViewItem绘制文本,但不绘制子项的文本。 因此,在详细信息视图中,在事件的处理程序ListView.DrawSubItem中绘制所有ListView文本通常更方便。