我的问题很简单:如何根据颜色选择更改图标?
假设我从带有红色下划线的 A 开始。如果我从颜色选择器中选择蓝色,我如何在我的 A 下得到蓝色?
谢谢 JoKi 团队
最佳答案
你的问题出人意料地缺乏必要的细节,所以我会尝试看看我是否可以填补一些空白......
我假设您所说的“图标”是指您发现的与 Microsoft Word 中使用的图标相似的图标:我假设您已经将该图标放置在某种类型的工具栏中。我进一步假设,在单击工具栏中的图标(或图标旁边的下拉箭头)后,用户会看到一个颜色选择器控件,他们可以从中选择自定义颜色。
所以您的问题是,如何更改默认的红色下划线以匹配用户在我的颜色选择器控件中选择的颜色。
简短的回答是你不能。如果您仔细观察,大多数应用程序不会根据所选颜色更新此图标的颜色。考虑到完成后它对您的应用程序几乎没有任何值(value),它的工作量远远超过它的值(value)。令人惊讶的是,很少有用户会注意到这个“功能”。
但如果您想这样做,您需要在用户选择颜色后即时创建和修改图标。从一个模板图标开始,一个没有为颜色矩形填充任何颜色的图标。您可以使用图标编辑器应用程序(例如我个人最喜欢的 IcoFX)从现有图标创建它。
创建模板图标后,您需要编写代码将此图标加载到位图中 (System.Drawing.Bitmap
),用选定的颜色填充适当的矩形区域 (Graphics.FillRectangle
),然后转换该位图变回一个图标。最后,将您在内存中创建的图标分配给工具栏按钮,并惊叹于您所取得的成就。
关于c# - FontColor 图标根据选择更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5792067/