我有一个标签,并使用以下代码动态分配前景色:
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);
进行分配?
如何动态地将颜色属性设置为字符串?
答案 0 :(得分:0)
无法为string
分配颜色,.NET string
是一种数据类型,它不包含格式,但只包含可用于呈现某些文本的字符集合。您的问题就像将字体分配给整数,整数int
只包含数字,如1或150,没有其他属性。
这样说,如果你的应用程序的用户界面(基于Windows或基于Web)你想使用特定的Font
(所以字符系列,如Arial,大小和颜色)渲染一些文本,你应该使用像标签或TextBox这样的UI控件,它通常允许您在.Text
属性中设置文本内容,并允许您通过使用其他属性来操作样式。但是这样的UI控件不是字符串,是一些逻辑和图形的容器,用于呈现具有特定格式的字符串。