2009-08-30 13 views
-2

Je veux faire un compteur d'incrémentation et de décrémentation. Il y a deux boutons appelés X et Y. Si vous appuyez d'abord sur X puis sur Y, le compteur devrait augmenter. Si vous appuyez d'abord sur Y puis appuyez sur X, le compteur devrait diminuer.besoin d'implémenter Compteur C#

Je ne connais pas C#. Donc, quelqu'un peut-il m'aider s'il vous plaît ?? :(

+4

Est-ce devoir? Si ce n'est pas le cas, ne serait-il pas plus simple d'avoir simplement un bouton "Increment" et un bouton "Decrement"? Si oui, qu'avez-vous essayé jusqu'à présent? – VoteyDisciple

+1

Et ce serait des boutons ASP.NET, WPF ou WinForms? –

+1

Voulez-vous une application Web ou de bureau? Cherchez-vous le code complet ou voulez-vous des pointeurs vers différentes ressources (comment créer une application, comment faire la logique, comment afficher les résultats)? Existe-t-il un langage de programmation que vous connaissez pour pouvoir faire des analogies? – olle

Répondre

1

Vous voulez avoir une variable que vous voulez garder une trace du compteur.

int counter = 0; 

Si elle est une application web, alors vous devez stocker ce quelque part, comme l'état de session. puis dans votre bouton compteur incrément:

counter++; 

et dans votre bouton décrémenter faire ceci:

counter--; 
3

On dirait que vous avez besoin de 2 variables: un compteur et le dernier bouton enfoncé. Je suppose que c'est une application WinForms, puisque vous n'avez pas spécifié au moment où j'écris ceci.

class MyForm : Form 
{ 
    // From the designer code: 
    Button btnX; 
    Button btnY; 

    void InitializeComponent() 
    { 
     ... 
     btnX.Clicked += btnX_Clicked; 
     btnY.Clicked += btnY_Clicked; 
     ... 
    } 

    Button btnLastPressed = null; 
    int counter = 0; 

    void btnX_Clicked(object source, EventArgs e) 
    { 
     if (btnLastPressed == btnY) 
     { 
      // button Y was pressed first, so decrement the counter 
      --counter; 
      // reset the state for the next button press 
      btnLastPressed = null; 
     } 
     else 
     { 
      btnLastPressed = btnX; 
     } 
    } 

    void btnY_Clicked(object source, EventArgs e) 
    { 
     if (btnLastPressed == btnX) 
     { 
      // button X was pressed first, so increment the counter 
      ++counter; 
      // reset the state for the next button press 
      btnLastPressed = null; 
     } 
     else 
     { 
      btnLastPressed = btnY; 
     } 
    } 
} 
0

trouvé sur un autre site:

public partial class Form1 : Form 
{ 
     //create a global private integer 
     private int number; 

     public Form1() 
     { 
      InitializeComponent(); 
      //Intialize the variable to 0 
      number = 0; 
      //Probably a good idea to intialize the label to 0 as well 
      numberLabel.Text = number.ToString(); 
     } 
     private void Xbutton_Click(object sender, EventArgs e) 
     { 
      //On a X Button click increment the number 
      number++; 
      //Update the label. Convert the number to a string 
      numberLabel.Text = number.ToString(); 
     } 
     private void Ybutton_Click(object sender, EventArgs e) 
     { 
      //If number is less than or equal to 0 pop up a message box 
      if (number <= 0) 
      { 
       MessageBox.Show("Cannot decrement anymore. Value will be 
               negative"); 
      } 
      else 
      { 
       //decrement the number 
       number--; 
       numberLabel.Text = number.ToString(); 
      } 
     } 
    } 
Questions connexes