Étape 2 : ajouter un objet aléatoire et une liste d'icônes
Vous devez utiliser deux instructions new pour créer deux objets et les ajouter à votre formulaire.Le premier est un objet Random identique à celui que vous avez utilisé dans le jeu du quiz mathématique.Le deuxième est nouveau : il s'agit d'un objet List.
Pour ajouter un objet aléatoire et une liste d'icônes
Avant d'ajouter le code suivant pour créer la liste, examinez son fonctionnement.
Public Class Form1 ' Use this Random object to choose random icons for the squares Private random As New Random ' Each of these letters is an interesting icon ' in the Webdings font, ' and each icon appears twice in this list Private icons = New List(Of String) From {"!", "!", "N", "N", ",", ",", "k", "k", "b", "b", "v", "v", "w", "w", "z", "z"}
public partial class Form1 : Form { // Use this Random object to choose random icons for the squares Random random = new Random(); // Each of these letters is an interesting icon // in the Webdings font, // and each icon appears twice in this list List<string> icons = new List<string>() { "!", "!", "N", "N", ",", ",", "k", "k", "b", "b", "v", "v", "w", "w", "z", "z" };
Ouvrez l'éditeur de code en cliquant avec le bouton droit sur Form1.cs dans l'Explorateur de solutions, puis cliquez sur Afficher le code dans le menu.Commencez à taper le code indiqué dans l'étape précédente.Si vous écrivez du code Visual C#, assurez-vous que vous insérez le code après l'accolade ouvrante et juste après la déclaration de classe (public partial class Form1 : Form).Si vous écrivez du code Visual Basic, insérez le code juste après la déclaration de classe (Public Class Form1).
Lorsque vous ajoutez l'objet List, examinez attentivement la fenêtre IntelliSense qui s'ouvre.Voici un exemple de code Visual C#.(Un texte semblable apparaît si vous ajoutez une liste dans Visual Basic.)
Fenêtre IntelliSense
[!REMARQUE]
Si vous examinez le code par petites sections, vous pourrez comprendre plus facilement.Vos programmes peuvent utiliser des objets List pour effectuer le suivi de nombreux éléments.Une liste peut contenir des nombres, des valeurs True/False, du texte ou d'autres objets.Un objet List peut même contenir d'autres objets List.Une liste est composée d'éléments et chacune d'elles ne contient qu'un seul type d'éléments.Par conséquent, une liste de nombres ne peut contenir que des nombres (vous ne pouvez pas y ajouter du texte).De même, vous ne pouvez pas ajouter de nombres à une liste de valeurs True/False.
[!REMARQUE]
Lorsque vous créez un objet List à l'aide d'une instruction new, vous devez lui indiquer ce qu'il doit contenir.C'est la raison pour laquelle l'info-bulle en haut de la fenêtre IntelliSense affiche le type d'éléments dans la liste.C'est également ce que signifient List<string> (en Visual C#) et List(Of String) (en Visual Basic) : ce sont des objets List qui contiennent des chaînes.Une chaîne est utilisée par votre programme pour stocker du texte, comme indiqué par l'info-bulle à droite de la fenêtre IntelliSense.
Pourquoi un tableau temporaire doit-il d'abord être créé en Visual Basic, alors que la liste peut être créée avec une seule instruction en Visual C# ?Cela est dû au fait que le langage Visual C# utilise des initialiseurs de collection.Vous pouvez utiliser un initialiseur de collection dans Visual Basic 2010.Toutefois, nous vous recommandons d'utiliser le code précédent pour des raisons de compatibilité avec la version antérieure de Visual Basic.
[!REMARQUE]
Lorsque vous utilisez un initialiseur de collection avec une instruction new, après avoir créé l'objet List, le programme le remplit avec les éléments compris entre les accolades.Dans ce cas, vous obtenez une liste de chaînes nommées icônes, et cette liste sera initialisée de sorte à contenir seize chaînes.Chacune de ces chaînes est une lettre unique, et elles correspondent toutes aux icônes qui seront dans les contrôles Label.Le jeu comportera donc une paire de points d'exclamation, une paire de lettres N majuscules, une paire de virgules, et ainsi de suite.En tout, votre objet List contiendra seize chaînes (une pour chaque cellule dans le TableLayoutPanel).
[!REMARQUE]
Dans Visual Basic, vous obtenez le même résultat, mais les chaînes sont d'abord insérées dans un tableau temporaire, qui est ensuite converti en objet List.Un tableau est semblable à une liste, sauf que les tableaux sont créés avec une taille fixe, par exemple.Les listes peuvent se réduire et s'agrandir autant que nécessaire, ce qui est important dans ce programme.
Pour continuer ou examiner
Pour passer à l'étape suivante du didacticiel, consultez Étape 3 : assigner une icône aléatoire à chaque contrôle Label.
Pour revenir à l'étape précédente du didacticiel, consultez Étape 1 : créer un projet et ajouter une table au formulaire.