如何通过从另一个标签获取颜色来更改标签的颜色?

How do I change Color of Label by getting the Color from another Label?

我正在尝试做一些类似于示例中的事情,但要更改 text/label 的颜色。

示例:

Label1.Text = Label2.Text;
Label2.Text = Label3.Text;
Label3.Text = Label4.Text;
//so and and so forth

我正在寻找一种非常简单的解决方案,如示例中所示,但有颜色。 我正在使用 Windows Form App.Net Framework 4.7.2,我正在使用 C# 9.0

我曾尝试使用 .ForceColor 作为更改颜色的方法,但如您所见,我正在尝试完成与示例中类似的事情。

一开始,我建议把标签放在一个容器里,除了标签什么都不要放。 那么:

  1. 执行for循环,并length = ContainerPanel.Controls.Count - 1,条件为i = ContainerPanel.Controls.Count
  2. Control[i] 转换为 labelFirst
  3. Control[i + 1] 转换为 labelSecond
  4. labelFirst.ForeColor = labelSecond.ForeColor

在这个例子中,容器是:ContainerPanel

for (int i = 0; i < ContainerPanel.Controls.Count - 1; i++)
{
    // This is a simple way without variables
    (Label(ContainerPanel.Controls[i])).ForeColor = (Label(ContainerPanel.Controls[i + 1]));
}

注意:最后一个Label要改ForeColor,否则不会改

问答

问:为什么length = ContainerPanel.Controls.Count - 1??

A: 因为我们应该将 Control[i + 1] 转换为 labelSecond,而我们不能,除非长度小于控件计数一个