C#应用中treeview的imagelist的奇怪现象
Strange phenomenon about imagelist of treeview in C# application
我最近使用 treeview 组件来实现我的 html editor.The 我使用的编译器是 Visual Studio Community 2017。
我使用图像列表来设置树视图的树节点图像。
当树节点被选中时,它会在树节点处显示一张纸和一支笔。
当没有选择树节点时,它会在树节点处显示一张没有笔的纸。
我在应用程序中使用的代码:
enum ImageList : int { Blank, BlankWithPen, Document, DocumentWithPen, DocumentWithLock, Locked }
TreeView1.SelectedNode.ImageIndex = (int)ImageList.Blank;
TreeView1.SelectedNode.SelectedImageIndex = (int)ImageList.BlankWithPen;
图像列表中使用的图像
图像在树节点处没有额外的线
我遇到的现象是图片显示在树节点处多了一条线。
图像在树节点处有一条额外的线
这个现象出现得比较明显,经过我多次编码编译程序运行
虽然我发现了这个现象,但我试图修复它。而且我已经检查过这些原始图像,这些图像周围没有边框。
于是,我将imagelist中的图片全部删除,然后重新加载imagelist中的图片,不做任何改动重新编译程序后运行,这种现象就消失了
这个现象反复出现,是我几次小修改的时候出现的。并且可以通过再次将图像重新加载到 Imagelist 来修复。
显然,这个问题与编码无关。
我想知道为什么会出现这种现象,如何永久解决这个问题?
最后,我把图片放到了Properties的Resources中,然后重新加载图片到imageList中。
private void Form1_Load(object sender, EventArgs e)
{
......
ImageList1.Images.Add(Properties.Resources.imagesBlank);
ImageList1.Images.Add(Properties.Resources.imagesBlankWithPen);
ImageList1.Images.Add(Properties.Resources.imagesDocument);
ImageList1.Images.Add(Properties.Resources.imagesDocumentWithPen);
ImageList1.Images.Add(Properties.Resources.Lock);
ImageList1.Images.Add(Properties.Resources.imagesDocumentwithLock);
......
}
我最近使用 treeview 组件来实现我的 html editor.The 我使用的编译器是 Visual Studio Community 2017。
我使用图像列表来设置树视图的树节点图像。 当树节点被选中时,它会在树节点处显示一张纸和一支笔。 当没有选择树节点时,它会在树节点处显示一张没有笔的纸。
我在应用程序中使用的代码:
enum ImageList : int { Blank, BlankWithPen, Document, DocumentWithPen, DocumentWithLock, Locked }
TreeView1.SelectedNode.ImageIndex = (int)ImageList.Blank;
TreeView1.SelectedNode.SelectedImageIndex = (int)ImageList.BlankWithPen;
图像列表中使用的图像
图像在树节点处没有额外的线
我遇到的现象是图片显示在树节点处多了一条线。
图像在树节点处有一条额外的线
这个现象出现得比较明显,经过我多次编码编译程序运行
虽然我发现了这个现象,但我试图修复它。而且我已经检查过这些原始图像,这些图像周围没有边框。
于是,我将imagelist中的图片全部删除,然后重新加载imagelist中的图片,不做任何改动重新编译程序后运行,这种现象就消失了
这个现象反复出现,是我几次小修改的时候出现的。并且可以通过再次将图像重新加载到 Imagelist 来修复。
显然,这个问题与编码无关。
我想知道为什么会出现这种现象,如何永久解决这个问题?
最后,我把图片放到了Properties的Resources中,然后重新加载图片到imageList中。
private void Form1_Load(object sender, EventArgs e)
{
......
ImageList1.Images.Add(Properties.Resources.imagesBlank);
ImageList1.Images.Add(Properties.Resources.imagesBlankWithPen);
ImageList1.Images.Add(Properties.Resources.imagesDocument);
ImageList1.Images.Add(Properties.Resources.imagesDocumentWithPen);
ImageList1.Images.Add(Properties.Resources.Lock);
ImageList1.Images.Add(Properties.Resources.imagesDocumentwithLock);
......
}