gpt4 book ai didi

c# - 如何在 C# 中按类颜色工作?

转载 作者:行者123 更新时间:2023-11-30 22:12:14 25 4
gpt4 key购买 nike

我写了一个 RGB 格式的字符串,我想将这个字符串用于 forcolor 文本框?我将这个字符串剪成 4 个字符串,其值类似于 (ff,00,12,ff)在 visual studio 中,此代码运行但显示错误

values not current format

textbox.ForeColor=
Color.FromArgb(Convert.ToInt32(a[0]),
Convert.ToInt32(a[1]),
Convert.ToInt32(a[2]),
Convert.ToInt32(a[3]));

请帮我解决这个问题。

最佳答案

指定基数16,像这样:

Color.FromArgb(Convert.ToInt32(a[0], 16),
Convert.ToInt32(a[1], 16),
Convert.ToInt32(a[2], 16),
Convert.ToInt32(a[3], 16));

ff 不是以 10 为基数的有效数字。 Convert.ToInt32 默认使用基数 10。我假设您在 a 数组中有正确的值。

例如:

string[] a = {"ff", "00", "12", "ff"};

Color color = Color.FromArgb(Convert.ToInt32(a[0], 16),
Convert.ToInt32(a[1], 16),
Convert.ToInt32(a[2], 16),
Convert.ToInt32(a[3], 16));

Console.WriteLine(color); //prints: Color [A=255, R=0, G=18, B=255]

更简单的方法是使用 ColorConverter 的实例:

string colorHex = "#" + string.Join("", a);
var color = (Color)new ColorConverter().ConvertFromString(colorHex);

关于c# - 如何在 C# 中按类颜色工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19833063/

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