【问题标题】:How to add images to TreeView.Tag?如何将图像添加到 TreeView.Tag?
【发布时间】:2012-07-28 21:10:44
【问题描述】:

我添加这样的文字:

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

this.TreeView.Nodes.Add(treeNode);
this.TreeView.Nodes[0].Tag = str;

.png 扩展名中的图像

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

我应该如何从这张图片中获取这个图标?

【问题讨论】:

  • 为什么不使用图像编辑器将图像放在单独的文件中?另外,我无法在此处了解您使用 Tag 所做的事情。
  • 我可以分开,只是觉得还有其他方法
  • 有,但都过于复杂。
  • 那我只需要把图片放到标签里,比如{"img1", "img2"};
  • 您的意思是将图像对象存储在标签中的数组中?你会用它做什么?您是否尝试为节点设置图像?

标签: c# winforms treeview


【解决方案1】:

您可以通过以下方式拆分图像,根据需要更新代码

赢取表格

    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);
    }

wpf

        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;

您可以在创建图像后填充标签属性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-31
    • 2021-11-16
    • 2011-08-07
    • 2011-06-15
    • 2010-09-22
    • 2019-06-12
    • 1970-01-01
    相关资源
    最近更新 更多