c# - 如何将图像添加到 ListViewItem 或 ListView c#

标签 c# winforms visual-studio-2008

我有一个 ListView 控件,我向该控件添加包含图像数据、文件名、位置(在 4 维矩阵中的某个点处获取)、所用时间的行。为了让事情变得更好,我想在第四列添加一个“删除”图标,以便用户可以查看图像并决定是否保留它,如何向每行的第四个单元格添加图像/图标?

public void addItemToImageListview(string details, string timestamp)
{
        string reftype = (!exp_image_radiobtn.Checked) ? "Ref" : "Data";
        ListViewItem lvi = new ListViewItem();

        if (details.Contains("[ERROR]"))
        {
            reftype = "[ERROR]";
            details = details.Substring(0, details.IndexOf("[ERROR]"));
        }

        lvi.Text = details;
        lvi.SubItems.Add(reftype);
        lvi.SubItems.Add(timestamp);
        lvi.SubItems.Add(image icon?);

我查过谷歌,但很多东西都是旧的......

正如 Aren 所问,这是一个 winforms 应用程序,c#,3.5。

最佳答案

不幸的是,在 WinForms 中将列呈现为图像会很痛苦。您必须创建一个所有者绘制的 ListView 并提供绘制该列的逻辑。

幸运的是,有开源ObjectListView wrapper ,这使得在 ListView 子项列中绘制图像变得微不足道:

alt text

关于c# - 如何将图像添加到 ListViewItem 或 ListView c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3097618/

相关文章:

c# - IDisposable.Dispose() 实现应该是幂等的吗?

c# - MediaElement 网络视频不会停止缓冲

c# - 为什么我会遇到超时异常以及在使用 httpwebrequest 下载文件时我应该如何处理?

c++ - 在不使用 CMake 的情况下将 ITK(Insight Toolkit)链接到 C++ VS2008 解决方案?

visual-studio-2008 - 使用 C++ 在 Visual Studio 2008 中查找内存泄漏

c# - 使用正则表达式返回数组/列表

c# - 如何完全卸载/安装 Visual Studio 2015?

c# - Form Constructors 与 Form Load 事件中应该包含哪些设置代码?

c# - 从表单处理类中的自定义事件

visual-studio-2008 - C#报表在PDF/打印模式下不会在新页面上重复字段