颜色的转换

发表于:2007-06-30来源:作者:点击数: 标签:
上回我回复的看椰子林DotNet的天空-----ASP.NET组件编程step by step------------------- # 回复:有点小BUG //以下将颜色值转化成十六进制表示 string R,G,B; R = (Convert.ToInt32(this._backgroundColor.R)).ToString(X); G = (Convert.ToInt32(this._back
上回我回复的看椰子林DotNet的天空-----ASP.NET组件编程step by step-------------------
# 回复:有点小BUG
//以下将颜色值转化成十六进制表示
string R,G,B;
R = (Convert.ToInt32(this._backgroundColor.R)).ToString("X");
G = (Convert.ToInt32(this._backgroundColor.G)).ToString("X");
B = (Convert.ToInt32(this._backgroundColor.B)).ToString("X");
if(R.Length==1)R = "0" + R;
if(G.Length==1)G = "0" + G;
if(B.Length==1)B = "0" + B;
-----------------------------------

其实以下代码可以换成一行代码就搞定--------------------
//以下将颜色值转化成十六进制表示
string R,G,B;

R = (Convert.ToInt32(this._backgroundColor.R)).ToString("X");

G = (Convert.ToInt32(this._backgroundColor.G)).ToString("X");

B = (Convert.ToInt32(this._backgroundColor.B)).ToString("X");

if(R.Length==1)
R = "0" + R;
if(G.Length==1)
G = "0" + G;
if(B.Length==1)
B = "0" + B;


Table t=(Table)Controls[i];

t.Attributes.Add("id",t.ClientID);

this.textBox.Attributes["onfocus"]="ltmouseover("+t.ClientID+",‘’" + "#" + R + G + B + "‘’)";
--------改成-------------------------
this.textBox.Attributes.Add("onmouseover","ltmouseover(this,‘’" + ColorTranslator.ToHtml(this._mouseoverColor) + "‘’)");

简单吧!无意中发现的!因为我想想MS不可能把一个颜色转换要自己写得这么麻烦。

原文转自:http://www.ltesting.net