我对tic tac toe游戏有一个逻辑问题。 我想添加一个新功能。 当我点击"黄色"在菜单中,当光标进入按钮时,我希望红十字会变黄。
我无法看到变量" b"从下面的方法,所以我想知道我该怎么做。
private void yellowColorToolStripMenuItem_Click(object sender, EventArgs e)
{
b.ForeColor= System.Drawing.Color.Yellow;
} //syntax error
private void button_enter(object sender, EventArgs e)
{
Button b = (Button)sender;
if (b.Enabled)
{
if (turn)
{
b.ForeColor = System.Drawing.Color.Red;
b.Text = "X";
}
else
{
b.ForeColor = System.Drawing.Color.Blue;
b.Text = "O";
}
}
}
我在网上找不到任何东西
答案 0 :(得分:3)
您已在button_enter
方法中声明本地变量。该变量仅在 方法中可用。如果您希望该变量成为实例开始的一部分,则需要将其设置为在任何方法之外声明的实例变量。
但是,它听起来像你想要的真实状态不是另一个按钮引用 - 它是光标进入时设置前景的颜色按钮"。所以你可能有:
private Color entryColor;
private void yellowColorToolStripMenuItem_Click(object sender, EventArgs e)
{
entryColor = Color.Yellow;
}
private void button_enter(object sender, EventArgs e)
{
Button b = (Button) sender;
if (b.Enabled)
{
if (turn)
{
b.ForeColor = entryColor;
b.Text = "X";
}
else
{
b.ForeColor = Color.Blue;
b.Text = "O";
}
}
}