我的问题非常简单:如何根据颜色选择更改图标?
假设我从带有红色下划线的A开始。如果我从颜色选择器中选择蓝色,我如何在A?
下获得蓝色由于 JoKi团队
答案 0 :(得分:4)
你的问题令人惊讶地缺乏必要的细节,所以我会试着看看我是否可以填补一些空白......
我认为通过“图标”,你的意思是你发现的一个看起来类似于Microsoft Word中使用的那个:我假设你已经将某个图标放在某种类型的工具栏。我进一步假设,在点击工具栏中的图标(或图标旁边的下拉箭头)后,会向用户显示一个颜色选择器控件,他们可以从中选择自定义颜色。
所以你的问题是,如何更改默认的红色下划线以匹配用户在颜色选择器控件中选择的颜色。
简短的回答是,你不能。如果您密切关注,大多数应用程序都不会根据所选颜色更新此图标的颜色。考虑到一旦完成,它将为您的应用程序增加一点价值,这比它的价值更多。令人惊讶的是,很少有用户甚至会注意这个“功能”。
但是如果你想这样做,你需要在用户选择颜色后即时创建和修改图标。从模板图标开始,根本没有为颜色矩形填充任何颜色。您可以使用图标编辑器应用程序(如我个人最喜欢的IcoFX)从现有图标创建此图标。
创建模板图标后,您需要编写将此图标加载到位图(System.Drawing.Bitmap
)的代码,使用所选颜色(Graphics.FillRectangle
)填充相应的矩形区域,并且然后将该位图转换回图标。最后,将您在内存中创建的图标分配给工具栏按钮,并惊叹您已经完成的任务。