Textbox(i).text

Résolu
cs_clinik Messages postés 34 Date d'inscription vendredi 12 novembre 2004 Statut Membre Dernière intervention 1 novembre 2012 - 20 août 2009 à 18:58
cs_clinik Messages postés 34 Date d'inscription vendredi 12 novembre 2004 Statut Membre Dernière intervention 1 novembre 2012 - 15 sept. 2009 à 15:39
Salut tout le monde,

Je me demandais s'il était possible d'écrire dans plusieurs textbox en une ligne;
''J'ai 10 textbox; txtNbr1 à txtNbr10
Private Sub Hasard_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Hasard.Click
        For i = 1 To 10
            Randomize()
            RandomNumber = ((Rnd() * 999))
            txtNbr(i).Text = RandomNumber
        Next i
    End Sub


Je veux entrer 10 nombre au hasard pour ensuite les mettre en ordre croissant.

J'ai fais quelques recherche mais j'ai pas trouvé.. =(

Merci

10 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 36
20 août 2009 à 19:14
Salut,

C'est un peut plus complexe
désolé j'ai pas de vb.net sous la main

il te reste a completer avec un gettype
ou TypeOf x Is Textbox

For each c as control in me.controls
   ' si le type est textbox
if .... then
directcast(c,textbox).Text = Random
end if
next


Bon dev
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
20 août 2009 à 19:31
Oui, ou bien plus simple :

Me.Controls("txtNbr" & i.ToString).Text = RandomNumber

A condition que les textbox soient directement sur la form. Si elles sont sur un autre container (panel par exemple), il faudra utiliser la collection Controls du container en question.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
3
cs_clinik Messages postés 34 Date d'inscription vendredi 12 novembre 2004 Statut Membre Dernière intervention 1 novembre 2012
20 août 2009 à 21:05
Merci beaucoup.

@ Casy :
Erreur 1 La résolution de surcharge a échoué, car aucun 'Item' accessible ne peut être appelé sans conversion restrictive :
'Public Overridable ReadOnly Default Property Item(key As String) As System.Windows.Forms.Control': L'argument qui correspond au paramètre 'key' passe de 'Double' à 'String'.
'Public Overridable ReadOnly Default Property Item(index As Integer) As System.Windows.Forms.Control': L'argument qui correspond au paramètre 'index' passe de 'Double' à 'Integer'. C:\Source VB NET\MON ORDRE CROISSANT\WindowsApplication1\WindowsApplication1\Form1.vb 8 13 WindowsApplication1


Quelqu'un peux m'expliquer?
0
cs_clinik Messages postés 34 Date d'inscription vendredi 12 novembre 2004 Statut Membre Dernière intervention 1 novembre 2012
20 août 2009 à 21:09
Laissez faire, moi le noob j'ai mis % a la place du & ! lol..


Merci beaucoup!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_clinik Messages postés 34 Date d'inscription vendredi 12 novembre 2004 Statut Membre Dernière intervention 1 novembre 2012
20 août 2009 à 21:44
Ennuyant qu'on ne puissent pas supprimer des posts qu'on a faits...

http://www.fhqhosting.com/ui/erreur%20vb.PNG
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
20 août 2009 à 21:52
quel sont les noms réels (propriétés Name) de tes textbox ?

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
cs_clinik Messages postés 34 Date d'inscription vendredi 12 novembre 2004 Statut Membre Dernière intervention 1 novembre 2012
20 août 2009 à 22:31
txtNbr1
txtNbr2
txtNbr3
txtNbr4
txtNbr5
txtNbr6
txtNbr7
txtNbr8
txtNbr9
txtNbr10
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 36
20 août 2009 à 22:51
Le probleme est ailleurs
Car le code suivant
fonctionne tres bien.

for (int i = 0; i < this.Controls.Count; i++)
    {
     if (this.Controls["TextBox" + i.ToString()] is TextBox)
      {
          (this.Controls["TextBox" + i.ToString()] as TextBox).Text = i.ToString();
    }
  }


Les controles doivent etre au meme niveau comme l'indique casy.

Désolé c'est en c# mais ca revient au meme

Utilise le débogguer de visual studio pour comprendre le probleme en ajoutant des espions
sur tes variables.

Bon dev
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
21 août 2009 à 08:47
Tu dois passer par la collection Controls du container ou sont les textbox.

Si les textbox sont directement sur la form tu fera
Me.Controls("txtNbr" & i.ToString).Text

Si au contraire tes textbox sont, par exemple, sur un panel nommé pannel1, tu fera
Me.Panel1.Controls("txtNbr" & i.ToString).Text


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
cs_clinik Messages postés 34 Date d'inscription vendredi 12 novembre 2004 Statut Membre Dernière intervention 1 novembre 2012
15 sept. 2009 à 15:39
Voilà ce que j'en ai fais:
http://www.vbfrance.com/codes/JEUX-KENO_50568.aspx

Merci encore pour l'aide!
0