C#Listview使用图像和文本添加项目,并将文本向左对齐

C#Listview使用图像和文本添加项目,并将文本向左对齐,c#,image,text,listitem,C#,Image,Text,Listitem,我正试图创建一些测试程序,只是为了好玩地学习c#,我发现了一些我真的搞不懂的东西 我想向listview中的项目添加一个图像。我发现了一篇关于Stackoverflow的文章,解释了如何做到这一点,它起了作用。但是,我无法向该项添加额外的文本。我想要一个旁边有文字的图像。我当前的代码: ImageList Imagelist = new ImageList(); private void Form1_Load(object sender, EventArgs e) { /

我正试图创建一些测试程序,只是为了好玩地学习c#,我发现了一些我真的搞不懂的东西

我想向listview中的项目添加一个图像。我发现了一篇关于Stackoverflow的文章,解释了如何做到这一点,它起了作用。但是,我无法向该项添加额外的文本。我想要一个旁边有文字的图像。我当前的代码:

ImageList Imagelist = new ImageList();
private void Form1_Load(object sender, EventArgs e)
    {
        //retrieve all image files
        String[] ImageFiles = Directory.GetFiles(@"C:\test");
        foreach (var file in ImageFiles)
        {
            //Add images to Imagelist
            Imagelist.Images.Add(Image.FromFile(file));
        }
        //set the amall and large ImageList properties of listview
        listView1.LargeImageList = Imagelist;
        listView1.SmallImageList = Imagelist;

        listView1.Items.Add(new ListViewItem() { ImageIndex = 0});
    }
显然,它只会添加一个图像,它的目的是。无论如何,如何在图像旁边输入文本?比如说

listView1.Items.Add(new ListViewItem() { ImageIndex = 0} "Image 1");
文本必须位于图像后面

我还有第二个问题。 我没有列(添加它们也不起作用)。我希望将项目与ListView的左侧对齐。我怎么能这样做


谢谢大家!

这应该能解决你的问题

listView1.View = View.Details; // Enables Details view so you can see columns
listView1.Items.Add(new ListViewItem { ImageIndex = 0, Text = "Image 1" }); // Using object initializer to add the text

简短回答:切换到WPF。使用
DataTemplate
@programmer93可以在不到10分钟的时间内完成此操作-谢谢。但是,我不确定是否能够通过XAML实现这种动态。最后,我将使用MySQL,并让脚本根据结果添加一个列表项。您仍然可以使用隐藏的代码。在任何情况下,这都可以在XAML和代码隐藏中完成。谢谢Zicore!它解决了我的问题。然而,我想问一个问题。是否可以锁定列,使其无法调整大小?