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;