C#ListView图像未在运行时显示

时间:2014-11-24 20:53:22

标签: c# image listview imagelist

您好我已经制作了一个简单的ListView,它有2个columins,它是一个Detail ListView,我创建了一个ImageList并在里面添加了我的图像,我设置了ImageIndex列(我也尝试过使用ImageKey)我的列和图像显示在设计师内部,但是一旦我运行该程序,就没有显示图像。

以下是设计师http://i.imgur.com/ZohRUon.png

的屏幕截图

2 个答案:

答案 0 :(得分:5)

这是设计器中的一个缺陷,它没有正确地序列化ColumnHeader.ImageIndex属性。例如,当您关闭设计器窗口并重新打开它时,您会看到图像再次消失。

@Idle链接的知识库文章过于沉重,你只需要做与设计师一样的事情。再次设置ImageIndex。在表单构造函数中执行此操作。我不知道屏幕截图中的正确代码是什么,但它应该类似于:

    public Form1() {
        InitializeComponent();
        listView1.Columns[0].ImageIndex = 0;
        listView1.Columns[1].ImageIndex = 1;
    }

答案 1 :(得分:2)

尽管在设计时显示列标题中的图标,但显然.Net中的ListView控件实际上并不支持此功能:

  

出现此问题的原因是.NET的实现   System.Windows.Forms.ColumnHeader类不包含   将图像分配给ColumnHeader控件的功能。您可以   仅将文本分配给ColumnHeader控件。

然而,PRB: Cannot Assign Images to a ColumnHeader Control in a Windows Forms ListView Control in Visual C# .NET中的代码对我来说很好。

添加代码并运行我的测试应用后,我的列标题在设计时分配给它们的运行时具有相同的图标。