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...と呼ばれるボタンが1つだけあり、クリックイベントでは次のようになります。

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 に答える