如何在单独的表单C#中设置标签的背景颜色

时间:2016-04-20 20:44:50

标签: c# forms backcolor

我有代码

            Results toResults = new Results();
            correct = 0;
            incorrect = 0;
            //Indicates clearly which answers are correct
            if (userGuessArray[0]==decompTimeArray[0])
            {
                toResults.yourAnswerLabel1.BackColor = Color.Green;
                lblone.BackColor = Color.Green;
                correct++;
            }
            else
            {
                toResults.yourAnswerLabel1.BackColor = Color.Red;
                lblone.BackColor = Color.Red;
                incorrect++;
            }

它似乎不适用于在第二个表单上设置标签的背景颜色。我让它设置了自己的颜色,这是有效的,但它不会转到另一种形式。我该如何解决这个问题?

我确实已经为此寻找了许多解决方案,但没有找到任何解决方案。

这是实际显示它的代码。

private void ShowResults()
        {
            //Shows the Results form.
            toResults.Show();
        }



private void resultsButton_Click(object sender, EventArgs e)
        {

           ShowResults();

        }

2 个答案:

答案 0 :(得分:1)

在第二个表单中创建一个属性,为您设置这些值。

第二种形式:

public Color _labelBackColor
{
  get { return myLabel.BackColor; }
  set { myLabel.BackColor = value; }
}

然后,您可以通过调用

来更改该值
toResults._labelBackColor = Color.Green;

或在实例化第二个表单时设置它

var toResults = new Results { _labelBackColor = Color.Green };

答案 1 :(得分:1)

由于这是Windows表单应用程序使用静态变量。

在主窗体中创建静态变量,并保留该变量以管理窗体的颜色。

始终从该静态变量中读取颜色以应用于您想要的位置。