专用方法问题c#(从工具栏菜单项更改颜色)
本文关键字:菜单项 颜色 工具栏 方法 问题 专用 | 更新日期: 2023-09-27 18:27:39
我在井字游戏中遇到了逻辑问题。我想添加一个新功能。当我点击菜单中的"黄色"时,当光标进入按钮时,我希望我的红十字变成黄色。
我从下面的方法中看不到变量"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";
}
}
}
我在网上找不到任何东西。
您已经在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";
}
}
}