FontColor基于选择的图标更改

问题描述:

我的问题很简单:如何根据颜色选择更改图标?FontColor基于选择的图标更改

假设我以带红色下划线的A开头。如果我从彩色选择器中选择蓝色,我如何在我的A下获得蓝色?

感谢 团队条既纳

+2

哪个UI框架?的WinForms? WPF? Silverlight的? ASP.NET? XNA? – 2011-04-26 15:33:07

+0

感谢Joe White的回复,很抱歉,我未能提供更多信息。幸运的是,科迪·格雷能够指引我朝着正确的方向发展:) – 2011-04-27 07:16:37

+1

如果你告诉我们你正在使用哪种UI框架,它仍然会有所帮助。别忘了,这个问题和答案在这里供其他人在将来用作参考。通过不指定你的问题是*,你正在做他们的伤害。 – 2011-04-27 12:43:30

你提的问题是必要的细节令人惊讶的缺乏,所以我要去尝试,看看我能在一些空白的填补......

我认为通过“图标”,你的意思是你发现的那个看起来与Microsoft Word中使用的相似:       而且我假设你已经在某种类型的工具栏中放置了该图标。而且我进一步假设,在单击工具栏中的图标(或图标旁边的下拉箭头)后,用户将看到颜色选择器控件,用户可以从中选择自定义颜色。

所以你的问题是,我如何改变默认的红色下划线,以匹配用户在我的颜色选择器控件中选择的颜色。

简短的答案是,你不能。如果您密切关注,大多数应用程序不会根据所选颜色更新此图标的颜色。考虑到一旦完成后它将为你的应用增加很少的价值,它的价值远远超过它的价值。令人惊讶的是,即使通知这个“功能”,很少有用户。

但是,如果您想要这样做,您需要在用户选择颜色后即时创建并修改图标。从一个模板图标开始,一个没有任何颜色的颜色矩形填充。您可以使用图标编辑器应用程序(如我个人最喜欢的IcoFX)从现有图标创建此图标。创建模板图标后,您需要编写将该图标加载到位图(System.Drawing.Bitmap)中的代码,使用所选颜色填充相应的矩形区域(Graphics.FillRectangle),然后将该位图转换回图标。最后,将你在内存中创建的图标分配给工具栏按钮,并惊叹你已经完成了什么。

+0

感谢科迪的回答。抱歉缺乏信息(我认为我的问题很清楚,但你说得对,我应该提供给你更多的信息),但是你所有的假设都是正确的;我也会听你的建议,并且无论如何,我会以它的方式离开它,它只是一个小功能。谢谢你的回答,这正是我需要的! – 2011-04-27 07:13:39

+0

@Team:这很好听。有时候,我想知道我的答案是否令人沮丧。人们对实现的小功能有很好的想法,但我已经尝试过自己完成大部分这些功能。事实证明,他们只是不值得。我认为传递这些信息是最有价值的。我本来很想得到'专家'的确认,我所要做的只是更多的努力,而不是值得,我应该强烈地考虑放弃!无论如何,就像这些事情一样,如果你决定最终要追求它,它就是可能的。 – 2011-04-27 07:26:23