.NET TreeView不会显示图像

Nig*_*ins 5 .net c# winforms

在获取TreeView控件以显示节点图像时出现问题.下面的代码有时会工作,但有时无法显示任何图像.


private TreeNode AddNodeForCore(TreeNode root, Core c) {
    string key = GetImageKey(c);
    TreeNode t = root.Nodes.Add(c.Name, c.Name, key, key);
    t.Tag = c;
    return t;
}
Run Code Online (Sandbox Code Playgroud)

请注意,当它失败时,TreeView无法显示任何节点的任何图像.TreeView确实为其分配了ImageList,图像键肯定在图像集合中.

编辑:
我的google-fu很弱.简直不敢相信我没有找到答案.

Mat*_*sen 9

以上googled帖子的有用位实际上是:

"这是Windows XP视觉样式实现中的一个已知错误.某些控件,如ImageList,在应用程序调用Application.EnableVisualStyles()之前创建时没有正确初始化.C#中的正常Main()实现Program.cs避免这种情况.感谢回帖!"

所以基本上,保证在初始化图像列表之前调用Application.EnableVisualStyles().