如何让用户更改文本框文本颜色

时间:2017-05-24 18:28:55

标签: c# winforms visual-studio textbox

我正在创建一个WinForms库存应用程序,用户可以将数据输入到他们想要添加的每个新项目或他们想要编辑的现有项目的一系列文本框中。

其中一个文本框用于关于该项目的评论,并且我希望让用户选择此文本颜色为他们将其添加到广告资源时所需的任何内容。有没有办法做到这一点,而不是像:

1)用户单击文本框旁边的按钮 2)按钮显示预定颜色列表(例如红色,绿色和蓝色) 3)用户可以单击其中一个,然后返回并更改textbox.text颜色属性

我不确定Visual Studio是否有一些整洁的内置色轮控件可以为我返回所选颜色,或者我描述的方式是最简单,最直接的方式。 (我假设我可能需要的一件事是使用富文本框而不是文本框?)

2 个答案:

答案 0 :(得分:3)

我认为您正在寻找ColorDialog

ColorDialog cd= new ColorDialog();
if (cd.ShowDialog() == DialogResult.OK)
    textBox1.ForeColor =  cd.Color;

答案 1 :(得分:0)

我的建议是 - 不要。

如果您使用Rich Text,那么当您需要生成报告时,它将成为后方真正的痛苦!大多数报表生成器无法处理富文本。

最好跳过“功能”这样的评论颜色更改并保留默认值。您可以通过字体大小,粗体/下划线/斜体或装饰文本框周围的来修饰,但保留文本的通用性。最终你会遇到一个无法看到文本的用户,因为选定的Windows桌面颜色配置文件使他们的自定义颜色不可见 - 谁被指责?开发者。

在它发生之前发现这种问题的方式,你会给自己带来很多悲伤。