J'ai des étiquettes nommées: Quelque chose comme ça pourrait fonctionner mais je ne connais pas la syntaxe: p> Vos suggestions seraient appréciées. p> p> label1 code>, label2 code>, ... Label16 code>. Je veux attribuer un nombre aléatoire à tous.
3 Réponses :
obtenir un entier aléatoire fort> p>
Utilisez le aléatoire classe au lieu du RND fonction pour obtenir un
aléatoire code> dans une plage spécifiée dans lealéatoire.next (int32, int32) code> méthode. Déclarez une variable de classe dealéatoire code> Type: p>xxx pré>
Trouver une gamme de commandes forte> p> blockQquote> Cet extrait de code iTerate sur la collection code> Collection du conteneur, renvoie - le cas échéant - l'étiquette code> code> indique que leurs noms sont égaux à Une gamme de noms commence à partir de
Label1 code> àLabel16 code>, et enfin, attribuez un fichieraléatoire code> à leurtexte code> P>Private Sub TheCaller() For Each lbl In GetAllControls(Of Label)(Me). Where(Function(x) Enumerable.Range(1, 16). Any(Function(y) x.Name.ToLower.Equals($"label{y}"))) lbl.Text = rand.Next(1, 100).ToString Next End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim labels As New List(Of Label) From {Label1, Label2, Label3, Label4}
For Each l As Label In labels
l.Text = rand.Next(99).ToString
Next
End Sub
To use your approach
Declare a variable for the Random class outside your method (a Form level variable).
Create a List of labels.
Loop through all the labels in your list and set the .Text property with the .Next method of the Random class.
Avez-vous essayé de courir ce code? Si oui, avez-vous fait ce que vous attendiez?