【发布时间】:2017-10-24 03:34:36
【问题描述】:
我最近使用treeview组件来实现我的html编辑器。我使用的编译器是Visual Studio Community 2017。
我使用 imagelist 来设置树视图的树节点的图像。 当树节点被选中时,它会在树节点处显示一张带笔的纸。 当未选中treenode时,会在treenode处显示一张没有笔的纸。
我的应用程序中使用的代码:
enum ImageList : int { Blank, BlankWithPen, Document, DocumentWithPen, DocumentWithLock, Locked }
TreeView1.SelectedNode.ImageIndex = (int)ImageList.Blank;
TreeView1.SelectedNode.SelectedImageIndex = (int)ImageList.BlankWithPen;
Imagelist中使用的图片
treenode处没有多余行的图像
我遇到的现象是图像在树节点上显示了一条额外的线。
图像在 treenode 处多了一行
这个现象出现的比较明显,经过我多次编码和编译程序并运行它。
虽然我发现了这种现象,但我试图修复它。我检查了这些原始图像,这些图像周围没有边框。
于是,我把imagelist的所有图片都删除了,然后重新把图片重新加载到imagelist中,重新编译程序后不做任何改动运行,这个现象就消失了。
当我做了一些小的修改时,这个现象一遍又一遍地出现。并且可以通过再次将图像重新加载到 Imagelist 来修复。
显然,这个问题与编码无关。
我想知道为什么会出现这种现象,如何永久解决这个问题?
【问题讨论】:
-
如果您使用的是 WPF,那么您可能会使用一个名为 Snoop snoopwpf.codeplex.com 的程序,它将自己注入到程序的可视化树中。然后您可以尝试重现该错误并使用 snoop 在您的可视化树中打开/关闭 ui 元素。这将使您了解哪个控件产生了一条线。
-
@netaholic 抱歉,我没有提到我使用 winform 在 C# 中开发此应用程序。无论如何,感谢您的 cmets。
-
您好,请问有微软团队中专门从事Visual Stuido 的工程师可以评论这篇文章吗?
标签: c# winforms treeview imagelist