C# 如何将图像添加到TreeView.Tag?

C# 如何将图像添加到TreeView.Tag?,c#,winforms,treeview,C#,Winforms,Treeview,我添加如下文本: TreeNode treeNode = new TreeNode("Person"); String[] str = new string[] {"name", "age"}; this.TreeView.Nodes.Add(treeNode); this.TreeView.Nodes[0].Tag = str; .png扩展名中的图像 另一个问题是,一个图像中的所有图标就像一个数组: 如何从该图像中获取该图标?您可以使用以下方式分割图像,根据需要更新代码 赢取表格

我添加如下文本:

TreeNode treeNode = new TreeNode("Person");
String[] str = new string[] {"name", "age"};

this.TreeView.Nodes.Add(treeNode);
this.TreeView.Nodes[0].Tag = str;
.png扩展名中的图像

另一个问题是,一个图像中的所有图标就像一个数组:


如何从该图像中获取该图标?

您可以使用以下方式分割图像,根据需要更新代码

赢取表格

    private List<Image> GetImages(string imageFile)
    {
        var images = new List<Image>();
        Image rootImage = Image.FromFile(imageFile);
        for (int i = 0; i < 6; i++)
        {
            Image image = CropImage(rootImage, new Rectangle(10 + i * 60, 0, 70, 60));
            images.Add(image);
        }
        return images;
    }

    private static Image CropImage(Image image, Rectangle area)
    {
        var bmpImage = new Bitmap(image);
        Bitmap bmpCrop = bmpImage.Clone(area, bmpImage.PixelFormat);
        return (bmpCrop);
    }

创建图像后可以填充标记属性

为什么不使用图像编辑器将图像放在单独的文件中?另外,我不能理解你在这里用
标签做什么。我可以把它分开,虽然还有其他方法,但它们都不必要的复杂。然后我只需要把图像放在标签里,比如{“img1”,“img2”};您的意思是将图像对象存储在标记中的数组中?你会怎么做?您正在尝试设置节点的映像吗?
        var image = new Image {Width = 70, Height=60};
        var source = new BitmapImage(new Uri(filePath));
        var bitmap = new CroppedBitmap(source, new Int32Rect(0, 0, 70, 60));
        image.Source = bitmap;