我在 Compact Framework 中使用 Listview 来制作菜单。Listview 有 4 个我可以使用的视图。大图标,小图标,列表,详细信息。所有这些在 Listview 项目文本上方或旁边都有图标图像。MSDN
我想创建另一个只是文本的视图——更像是细节视图,但左侧没有图标。有没有办法做到这一点而无需制作我自己的 onPaint 处理程序?
在使用 Detail 视图时,我尝试将 SmallImageList 和 LargeImageList 清空,但仍然为图像留下了空的占位符。
详细视图使用 SmallImageList 图标;现在我最好的解决方案是将列表视图 SmallImageList ImageSize 设置为 (1,1) - 它在文本的左侧显示一个 1 x 1 的方形图像。只要列表视图背景为白色并且我将图像列表设为空,它就可以正常工作。但这意味着如果用户想要进行另一个视图,我必须再次加载图像——这在紧凑型设备上表现不佳。
这是我更改视图的代码。
private void textView__Click(object sender, EventArgs e) {
listView1.View = View.Details;
listView1.SmallImageList.ImageSize = new Size(1, 1);
}
在图像上 SmallImageLIst 不是 Null-ed。这就是我在上面的代码中看到的。任何想法??
编辑:当我将图像列表设为空时会发生这种情况。