2015-08-15 1 views
0

que je dois faire un excercise avec la forme de fenêtres mais je suis débutant sur programer C#, et je veux aider ..LIFO STACK (application Windows)

... Tout d'abord je dois énumérer ce nombre sur une fenêtre Formulaire: -20, 45, -10, 20, 1 mais je ne sais pas si j'ai seulement besoin d'utiliser l'étiquette de la boîte à outils et de changer la valeur pour le faire.

deuxième ... Je dois créer le bouton, que lorsque je clic, disparaître simplement des valeurs négatives (-20, -10)

Trois ... Je besoin d'un autre bouton pour commande en LIFO

Quelqu'un peut-il m'aider télécharger un exemple ou un programme s'il vous plaît? Je n'ai aucune idée de comment faire cela

+0

Essayez de googler. –

Répondre

1

Cela pourrait être une solution. S'il vous plaît copiez le code suivant à votre formulaire:

 List<int> numbers = new List<int>(); 
     private void positiveButton_Click(object sender, EventArgs e) 
     { 
      RefreshList(numbers.Where(x => x > 0).ToList()); 
     } 
     private void RefreshList(List<int> list) 
     { 
      listBox1.Items.Clear(); 
      foreach (int item in list) 
       listBox1.Items.Add(item); 
     } 
     private void addButton_Click(object sender, EventArgs e) 
     { 
      int newValue; 
      if (int.TryParse(textBox1.Text, out newValue)) 
      { 
       numbers.Add(newValue); 
       listBox1.Items.Add(textBox1.Text); 
      } 
      else 
       MessageBox.Show("Please enter a number."); 
     } 
     private void ShowAllButton_Click(object sender, EventArgs e) 
     { 
      RefreshList(numbers); 
     } 
     private void lifoButton_Click(object sender, EventArgs e) 
     { 
      numbers.Reverse(); 
      RefreshList(numbers); 
     } 

vous devez concevoir votre formulaire comme ceci:

enter image description here

J'ai utilisé une zone de liste pour montrer les chiffres et une liste en arrière-plan pour les garder tous . EDIT: ajouter ce bouton pour résoudre le problème

private void lifoPositiveButton_Click(object sender, EventArgs e) 
     { 
      RefreshList(numbers.Where(x => x > 0).Reverse().ToList()); 
     } 

Concevoir le formulaire et affecter les événements appropriés. J'espère que cela aide.

+0

Excelent ... si une seule question ... Si je veux (lifo) seulement des nombres positifs .. comment puis-je faire cela, parce que si je clique sur LIFO après cliquer sur positif, il LIFO tous les numéros –

+0

Oui mon ami. vous pouvez ajouter cette ligne de code à un nouveau bouton: RefreshList (numbers.Where (x => x> 0) .Reverse(). ToList()); –

+0

Ok mon ami, si c'était ce que vous cherchiez, veuillez accepter ma réponse. merci –