我有代码
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();
}
答案 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表单应用程序使用静态变量。
在主窗体中创建静态变量,并保留该变量以管理窗体的颜色。
始终从该静态变量中读取颜色以应用于您想要的位置。