无法修改Forms.ImageList.Images的集合键中的项目

时间:2018-03-26 01:11:16

标签: c# winforms imagelist

我使用的是我的第一个dotnet TreeView,我遇到ImageList个密钥问题。

当我写这段代码时:

int i;
i = MyIL.Images.Add(Properties.Resources.CheckedItemBitmap, Color.White);
MyIL.Images.Keys[i] = "Checked";

key未写入。我的意思是MyIL.Images.Keys[i]在该代码之后仍然是空的。它看起来像是只读的。但是文档说可以在其中设置值。

这是一个问题,因为我想使用这个特定的重载ImageList.Images.Add()函数,它不允许我指定键值。

这不是世界末日,但任何线索都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

正如您所观察到的,根据documentationKeys属性是只读的。密钥通常是在将项添加到集合时设置的内容,当然,有Images.Add的重载接受自定义密钥。所以我会使用那个重载,并在单独的调用中设置透明颜色:

Properties.Resources.CheckedItemBitmap.MakeTransparent(Color.White);
MyIL.Images.Add("Checked", Properties.Resources.CheckedItemBitmap);