【问题标题】:How can I get a Color from a list of KeyValuePair?如何从 KeyValuePair 列表中获取颜色?
【发布时间】:2016-11-10 09:38:57
【问题描述】:

我有一个按钮:btn,我正在尝试

private List<KeyValuePair<String,Color>> myListKeyValuePair = new List<KeyValuePair<String,Color>>

btn.BackColor =  Color.(myListKeyValuePair[i].Value);

但它说,'预期的标识符'。

【问题讨论】:

  • 那是无效的语法。你能显示完整的代码/myListKeyValuePair的定义@
  • 私有列表> myListKeyValuePair = new List>
  • 只要使用 btn.BackColor = myListKeyValuePair[i].Value;
  • 这里没有使用数组
  • @mww 谢谢,它有效。我没有注意到我在几行之后有 btn.BackColor= 另一种颜色。

标签: c# colors


【解决方案1】:

如果名称/值对中有颜色,只需将背景颜色设置为该值即可。

btn.BackColor = myListKeyValuePair[i].Value;

【讨论】:

  • 你怎么知道,myListKeyValuePair 包含名字?
  • 鉴于他的使用方式,我无法确定这只是一个假设。
  • @RyanSearle 谢谢回答。
【解决方案2】:

如果您想从键而不是索引中检索颜色(否则您可能只想使用 Color 类型的列表

    //Sample list
    List<KeyValuePair<string, Color>> myListKeyValuePair = new List<KeyValuePair<string, Color>>();
    myListKeyValuePair.Add(new KeyValuePair<string, Color>("Truck", Color.Red));
    myListKeyValuePair.Add(new KeyValuePair<string, Color>("Car", Color.Green));
    myListKeyValuePair.Add(new KeyValuePair<string, Color>("Van", Color.Blue));

    //Value retrieve
    Color myDesiredColor = myListKeyValuePair.Where(item => item.Key == "Car").FirstOrDefault().Value;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多