【问题标题】:labels color change in a loop. C#标签颜色循环变化。 C#
【发布时间】:2014-07-04 10:37:38
【问题描述】:

我有 180 个标签并在运行 180 次的 for 循环中检查条件。如何在循环中更改每个特定标签的标签颜色?

我的代码:

for (Int16 i = 1; i < 181; i++)
{    
    try
    {
        // Do some thing    
    }    

    catch (Exception ex)
    {    
        // this works for only one label i want to make it   
        // dynamic like below..and i want to make color change if it catch      
        // any Exception for the respective loop.               
        label1.ForeColor = Color.Blue;           

        // this doesn't works
        label[i].ForeColor = Color.Blue;       
    }

    finally
    {
         //Do nothing
    }
}

【问题讨论】:

  • 您是否收到错误消息?
  • 如果您使用的是网络,那么有一种方法可以通过名称获取元素。

标签: c# arrays loops colors label


【解决方案1】:

您正在做的是通过其名称访问单个控件
如果您想检索表单中的所有标签并更改前景色,您必须尝试以下操作

private void button1_Click(object sender, EventArgs e)
{
    var labels = this.Controls.OfType<Label>();
    foreach (var label in labels)
    {
        label.ForeColor = Color.Red;
    }
}

【讨论】:

    【解决方案2】:

    我认为你应该写一个这样的函数:

    private void Form1_Load(System.Object sender, System.EventArgs e)
    {
    UpdateLabelFG(this.Controls, Color.Red);
    }
    
    
    private void UpdateLabelFG(ControlCollection controls, Color fgColor)
    {
    if (controls == null)
        return;
    foreach (Control C in controls) {
        if (C is Label)
            ((Label)C).ForeColor = fgColor;
        if (C.HasChildren)
            UpdateLabelFG(C.Controls, fgColor);
    }
    }
    

    【讨论】:

    • 如果循环正在运行,例如它捕获了异常,我想知道哪个没有。的迭代异常发生并看到异常相应的标签应该改变它的颜色。
    • 你需要把它放在 try catch 里面 :)
    • 它会改变所有标签的颜色或某些标签有例外。迭代次数。
    • 如果你想要它可以改变所有的标签,但如果你不想要你可以但在某些条件下它会相应地表现,这就是为什么我建议一个函数而不是在表单中编写代码或按钮
    • 我把它放在了catch中,仍然无法使用这个功能。在构建中出现错误。你能帮我使用这个功能吗?
    【解决方案3】:

    尝试一下 label[i].ForeColor = Color.FromArgb(rnd.Next(i + 1 ), rnd.Next(i + 1), rnd.Next(i + 1));

    【讨论】:

      猜你喜欢
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      • 2019-07-24
      • 2015-02-09
      • 2021-11-23
      • 2018-12-02
      相关资源
      最近更新 更多