2009-11-20 7 views
0

J'ai un ensemble de boutons que je veux ajouter dans un tableau afin qu'ils soient classés. Les boutons que j'ai sont:C# Construire un tableau avec des entrées de bouton

Monday0700Button 
Monday0730Button 
Monday0800Button 
Monday0830Button 

et ainsi de suite.

Comment puis-je ajouter un bouton dans un tableau et le commander, afin que je puisse utiliser cet ordre plus tard pour différentes utilisations.

Merci.

Répondre

2

Semble comme un SortedDictionary<string, Button> serait combler la facture.

SortedDictionary<string, Button> buttons 
       = new SortedDictionary<string, Button>(); 
buttons.Add(btn1.Name, btn1); 
buttons.Add(btn2.Name, btn2); 

foreach (string name in buttons.Keys) 
{ 
    Button b = buttons[name]; 
    // iterates in name order 
} 

Modifiez la clé que vous utilisez en fonction de ce que vous choisissez de trier.

0

SortedList<TKey, TValue> devrait faire l'affaire. Où TKey est la propriété du bouton que vous souhaitez commander et TValue est votre type de bouton.

0

Vous créez simplement une collection ordonnée de boutons qui est par exemple:

List<Button> lst 

Si l'ordre que vous ajoutez ces éléments n'est pas celui que vous voulez qu'il soit, vous pouvez utiliser la méthode Trier().

Si vous souhaitez conserver des informations supplémentaires associées à un bouton, utilisez sa propriété Tag et utilisez-le lors du tri.

0

Vous pouvez créer un tableau avec des boutons existants comme celui-ci.

var array = new[] {Monday0700Button,Monday0730Button,Monday0800Button,Monday0830Button}; 
0

Comment définissez-vous votre commande? Si votre commande est définie par "l'ordre avec lequel vous avez configuré le tableau", le tableau (ou une liste) est suffisant.

Si vous voulez une commande différente de celle avec laquelle vous commencez, puis vous pouvez regarder au tri.

1

Vous pouvez les mettre tous dans une liste et puis trier par ID:

List<Button> buttonList = new List<Button>(); 
buttonList.Add(Monday0700Button); 
buttonList.Add(Monday0730Button); 
buttonList.Add(Monday0800Button); 
buttonList.Add(Monday0830Button); 
buttonList.Sort((l,r) => l.ID.CompareTo(r.ID)); 
Questions connexes