gpt4 book ai didi

c# - 根据控件的背景颜色更改控件的文本颜色

转载 作者:行者123 更新时间:2023-12-01 22:43:27 24 4
gpt4 key购买 nike

我有一个 TextBox,它显示一种颜色作为它的背景颜色,并在它的文本中显示背景颜色代码。我已将文本颜色设置为 Black

问题是,如果用户将颜色设置为Black,那么颜色代码将不可读。如何以编程方式设置文本颜色,以便在用户选择任何颜色时变得可读?

最佳答案

您可以为文本使用负色:

Color InvertColor(Color sourceColor) {
return Color.FromArgb(255 - sourceColor.R,
255 - sourceColor.G,
255 - sourceColor.B);
}

任何颜色都保证在其负色上或多或少可读,所以你去吧。这是一种反转颜色的快速而肮脏的方法,您可能还想查看此问题的答案:How do I invert a color?

另一种选择是向黑色文本添加白色光晕。这就是人们在 GIS 应用程序中所做的,以确保 map 标签在任何表面上都可读。光环效果的想法是在黑色文本周围有一个细的白色边框。这样,无论是在白色背景(边框变得不可见)还是在黑色背景(边框勾勒出文本轮廓)上,文本都是可读的。

有多个关于该主题的教程,例如 this articlethis SO question (带有 VB.NET 示例)。

当您选择了Color 时,只需将它分配给文本框的ForeColor 属性,如下所示:

txtColor.ForeColor = mycolor;

关于c# - 根据控件的背景颜色更改控件的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7504412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com