2

我正在用 C# 制作一个蛇游戏,我有一个暂停和播放按钮。问题是:这些按钮在完全相同的位置,所以我点击暂停后无法点击开始(因为它仍然处于活动状态)

private void picBreak_Click(object sender, EventArgs e)
{
  timer1.Stop();
  picBreak.Visible = false;
  picStart.Visible = true;
}

private void picStart_Click(object sender, EventArgs e)
{
  timer1.Start();
  picBreak.Visible = true;
  picStart.Visible = false;
  picStart.Focus = true;
}

.Focus 不起作用并给出错误:/

错误 = 错误 1 ​​无法分配给“焦点”,因为它是“方法组” C:\Users\Mave\Desktop\SnakeGame\Form1.cs 271 7 SnakeGame

4

2 回答 2

4

Control.Focus是一种方法,而不是属性。这应该是:

private void picStart_Click(object sender, EventArgs e)
{
  timer1.Start();
  picBreak.Visible = true;
  picStart.Visible = false;
  picBreak.Focus(); // Focus picBreak here?
}
于 2012-10-23T17:02:13.513 回答
1

在您的代码中,您试图将焦点放在您在上一行中设置为不可见的控件上……此外,编译器告诉您这Focus是一种方法,而您正试图将其用作属性。

我会以不同的方式做到这一点:

只有一个名为btnStartPauseResume... 的按钮,在点击事件中:

private void btnStartPauseResume_Click(object sender, EventArgs e)
{
    if (btnStartPause.Text == "start")
    {
       btnStartPause.Text == "pause";

       // code to start the game
    }
    else if (btnStartPause.Text == "pause")
    {
       btnStartPause.Text == "resume";

       // code to pause the game
    }
    else if (btnStartPause.Text == "resume")
    {
       btnStartPause.Text == "pause";

       // code to resume the game
    }
}
于 2012-10-23T17:03:39.880 回答