作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在 ListView 中,您可以在每个项目上都有图标。
在详细信息模式下查看时,图标显示在最左侧的列中。
我可以在其他列中显示图标吗?
最佳答案
ListView
控件本身不支持子项中的图像。最简单的做法是切换到 DataGridView
并使用 DataGridViewImageColumn
。如果这不可能,那么您将需要使用 ListView
控件中的自定义绘制支持自己绘制图标。为此,请设置 ListView.OwnerDraw = true
并处理 ListView.DrawSubItem
和 ListView.DrawColumnHeader
事件。
private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
{
// Only interested in 2nd column.
if (e.Header != this.columnHeader2)
{
e.DrawDefault = true;
return;
}
e.DrawBackground();
var imageRect = new Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Height, e.Bounds.Height);
e.Graphics.DrawImage(SystemIcons.Information.ToBitmap(), imageRect);
}
private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
e.DrawDefault = true;
}
关于c# - 如何为 ListViewSubItem 设置图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1888542/
我是一名优秀的程序员,十分优秀!