C# 如何从数组中访问颜色
我试图访问数组中列出的颜色,但不确定如何访问,我在谷歌上搜索过,但没有帮助查找内容C# 如何从数组中访问颜色,c#,asp.net,arrays,colors,C#,Asp.net,Arrays,Colors,我试图访问数组中列出的颜色,但不确定如何访问,我在谷歌上搜索过,但没有帮助查找内容 protected void DropDownList7_SelectedIndexChanged(object sender, EventArgs e) { string[] color=new string[] {"Azure","BlanchedAlmond","Black","Beige","DarkGreen","DarkKhaki","DarkOrange"} f
protected void DropDownList7_SelectedIndexChanged(object sender, EventArgs e)
{
string[] color=new string[] {"Azure","BlanchedAlmond","Black","Beige","DarkGreen","DarkKhaki","DarkOrange"}
for(int i=0 ;i<color.Length;i++)
{
if(DropDownList7.SelectedIndex==i)
Label11.ForeColor=Color.?;
}
}
protectedvoid DropDownList7\u SelectedIndexChanged(对象发送方,事件参数e)
{
string[]color=新字符串[]{“Azure”、“BlanchedAlmond”、“Black”、“米色”、“暗绿色”、“暗哈基”、“暗科朗日”}
对于(inti=0;iTry
如果您只是想要与所选下拉列表相对应的偏移量。将颜色存储为颜色
对象,则可以轻松访问它,否则可能需要使用方法
protectedvoid DropDownList7\u SelectedIndexChanged(对象发送方,事件参数e)
{
Color[]colors=新颜色[]{Color.Azure,Color.BlanchedAlmond,…};
对于(int i=0;i
就你而言
var color = Color.FromName(color[DropDownList7.SelectedIndex]);
使用下面的方法FromName
Label11.ForeColor=Color.FromName(color[i]);
但是,我建议将颜色存储在System.Drawing.Color
数组中,而不是神奇的字符串。或者从我这里存储它们的十六进制表示形式,如“#000000”+1,这是最好的解决方案:不要使用字符串如果您发现错误,您没有使用我的代码,请仔细检查我的代码。我正在使用Color[]颜色
notstring[]颜色
,也不要编辑答案的错误,只需在下面进行注释。考虑到这是在这种情况下正确设置颜色的有效方法,请在向下投票时进行注释。-1原因很简单。这行代码永远不会编译,因为color
是字符串数组和ForeColor
属性erty是一个struct
…结构和字符串之间没有隐式转换。至少在.NET Framework中没有
if(DropDownList7.SelectedIndex >=0 == DropDownList7.SelectedIndex < colors.Length)
Label11.ForeColor=colors[DropDownList7.SelectedIndex];
var color = Color.FromName("Gold");
var color = Color.FromName(color[DropDownList7.SelectedIndex]);
Label11.ForeColor=Color.FromName(color[i]);