C# Treeview将自定义树节点的图像显示到picturebox

C# Treeview将自定义树节点的图像显示到picturebox,c#,C#,我是一个新手,在搜索和尝试了一些我仍然无法达到我想要的东西之后,我的问题是。在windows窗体应用程序中,我有一个treeview,其中添加了自定义treenode。自定义节点扩展了treenode类,附加变量的类型为Image。因此,每次我选择一个节点时,我都希望在我将图像加载到节点后,它的图像显示在picturebox中。我尝试了AfterElecet事件处理程序和鼠标单击事件处理程序,但仍然没有显示图像。这是经过大量实验后的最后一段代码: private void treeView1_A

我是一个新手,在搜索和尝试了一些我仍然无法达到我想要的东西之后,我的问题是。在windows窗体应用程序中,我有一个treeview,其中添加了自定义treenode。自定义节点扩展了treenode类,附加变量的类型为Image。因此,每次我选择一个节点时,我都希望在我将图像加载到节点后,它的图像显示在picturebox中。我尝试了AfterElecet事件处理程序和鼠标单击事件处理程序,但仍然没有显示图像。这是经过大量实验后的最后一段代码:

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) 
{ 
     pictureBox1.Image = ((MyNode)(treeView1.SelectedNode)).MyImage; 
}

我肯定我遗漏了一些东西,但不知道具体是什么。任何帮助都将不胜感激!谢谢大家!

我做了一个简单的测试项目,试图重现你的问题。我创建了一个名为CustomNode的类,该类继承TreeNode,其中有一个Image属性,其值设置为Image。在表单的load事件中,我向treeview添加了一个新的CustomNode。然后在将节点添加到树中之后,我使用与您相同的转换方式将图片框的图像设置为节点的图像,效果很好。您能演示一下如何将MyNodes添加到树中吗?我的就是这么简单:treeView1.Nodes.addnewcustomnode;是的,谢谢你抽出时间,我真的很感激。我只是设法解决了它。我使用SelectedNode检查是否选中了一个节点,当我向该节点添加图像时,该节点是错误的,我意外地创建了一个临时树节点并将图像保存到该节点。实际上,我上面写的代码工作得很好。CustomNodetreeView1.SelectedNode.MyImage=new Bitmapopen.FileName;上面是将图像添加到选定自定义节点的正确行。再次感谢您的时间!!!我希望这篇文章也能帮助其他人。