动态地将前景颜色属性分配给字符串

本文关键字:属性 分配 字符串 颜色 动态 | 更新日期: 2023-09-27 18:09:08

我有一个标签,我使用以下代码动态地为它分配了前景色:

string xCol = "#F8951D";
Color c = System.Drawing.ColorTranslator.FromHtml(xCol);
string abc = Convert.ToString(c);
string[] col = abc.Split();
for (int k = 1; k <= 4; k++)
{
    col[k] = col[k].Replace("A", "");
    col[k] = col[k].Replace("=", "");
    col[k] = col[k].Replace("[", "");
    col[k] = col[k].Replace(",", "");
    col[k] = col[k].Replace("R", "");
    col[k] = col[k].Replace("G", "");
    col[k] = col[k].Replace("B", "");
    col[k] = col[k].Replace("]", "");
    if (k == 1)
    { int abc1 = Convert.ToInt32(col[k]); Session["abc1"] = abc1; }
    else if (k == 2)
    { int abc2 = Convert.ToInt32(col[k]); Session["abc2"] = abc2; }
    else if (k == 3)
    { int abc3 = Convert.ToInt32(col[k]); Session["abc3"] = abc3; }
    else if (k == 4)
    { int abc4 = Convert.ToInt32(col[k]); Session["abc4"] = abc4; }
}
int c1 = Convert.ToInt32(Session["abc1"].ToString());
int c2 = Convert.ToInt32(Session["abc2"].ToString());
int c3 = Convert.ToInt32(Session["abc3"].ToString());
int c4 = Convert.ToInt32(Session["abc4"].ToString());
lblDept.ForeColor = Color.FromArgb(c1,c2,c3,c4);

我如何分配一个前景颜色属性动态使用a,r,g,b组件字符串?

可以用string strColor = Color.FromArgb(c1,c2,c3,c4);来赋值吗?
我如何设置一个颜色属性动态字符串?

动态地将前景颜色属性分配给字符串

没有办法给string分配颜色,. net string是一种数据类型,它不包含格式,但只包含可以用来呈现一些文本的字符集合。你的问题就像给一个整数分配一个字体,一个整数int只包含数字,像1或150,没有其他属性。

这么说,如果在你的应用程序的用户界面(基于Windows或基于Web),你想要渲染一些文本使用特定的Font(所以字符族,如Arial,大小和颜色),你应该使用一个UI控件,如标签或文本框,通常允许你设置文本内容的.Text属性,并允许你也操纵的风格,通过使用其他属性。但是这样的UI控件不是字符串,而是一些逻辑和图形的容器,用于呈现具有特定格式的字符串。