2014-09-08 2 views
-4

Я работаю над игрой мини-кликера, это не что-то большое, но у меня проблема с включением моей кнопки, но я могу ее отключить. Я все еще участвую, и я думаю, что можно спросить такие глупые вопросы. : DКнопка, позволяющая работать некорректно

Вот мой код:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 


namespace Diamond_Clicker 
{ 
    public partial class Form1 : Form 
    { 
     private int clicks = 0; 
     private int counter = 1; 

     public Form1() 
     { 
      InitializeComponent(); 

     } 
     private void myDiamond_MouseUp(object sender, MouseEventArgs e) 
     { 

      myDiamond.Image = Image.FromFile("C:\\Matej Dodevski\\Semos\\C#\\Diamond  Clicker\\diamond.png"); 

     } 

     private void myDiamond_MouseDown(object sender, MouseEventArgs e) 
     { 
      myDiamond.Image = Image.FromFile("C:\\Matej Dodevski\\Semos\\C#\\Diamond Clicker\\diamondMouseUp.png"); 
      clicks++; 
      DiamondsScore.Text = "Diamonds: " + clicks.ToString(); 

     } 

     private void timer1_Tick(object sender, EventArgs e) 
     { 
      clicks++; 
     } 

     private void timer1_Tick_1(object sender, EventArgs e) 
     { 
      counter++; 

      clicks = clicks + 1; 
      DiamondsScore.Text = "Diamonds: " + clicks.ToString(); 

     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      clicks = clicks - 50; 
      DiamondsScore.Text = "Diamonds: " + clicks.ToString(); 
      timer1.Enabled = true; 

     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

      if (clicks > 5) 
      { 
      button1.Enabled = true; 
      } 
      else 
      button1.Enabled = false; 
     } 

    } 
} 
+0

Глупые вопросы (вроде) нормально, несуществующие вопросы нет. Что вы спрашиваете здесь? – BradleyDotNET

+0

Вы включаете или отключаете только загрузку формы, это то, что вы намеревались? – Sorceri

+0

Form1_Load получает только один раз. Передвиньте свой код туда к вашим функциям button_click, и он должен работать. – Icemanind

ответ

1

Load Event предназначен, чтобы выполняться один раз, и это только до того, как форма отображается на экране. Обычно это событие - это то, где вы делаете какую-то однократную инициализацию.

Что вам нужно сделать, вместо этого поставить этот код в функцию:

private void UpdateButton() 
{ 
    if (clicks > 5) 
     button1.Enabled = true; 
    else button1.Enabled = false; 

    // This function can be reduced to one line of code: 
    // button1.Enabled = clicks > 5; 
} 

Тогда вам нужно вызвать эту функцию в конце вашей функции button1_Click, Timer1_Tick функции, MouseDown функции и ваши функции timer1_tick_1. В принципе, в любую функцию, где переменная кликов может измениться.

+0

Спасибо @icemanind Это помогло: D – user3623311

Смежные вопросы