Simplification du code pour écrire dans plusieurs Textbox

Résolu
zazsze Messages postés 54 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 15 août 2007 - 17 déc. 2006 à 14:01
zazsze Messages postés 54 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 15 août 2007 - 17 déc. 2006 à 19:07
Bonjour,
Sous VB 2005, j'ai écrit le code ci-dessous de manière à ce que le contenu d'un fichier s'ouvre dans plusieurs TextBox.
Y-a-t'il un moyen de simplifier ce code car j'ai de nombreux fichiers à écrire et je ne voudrai pas à avoir à répéter toutes ces lignes pour chaque fichier.
Sous VB6, on pouvait grouper plusieurs textbox et on n'avait alors qu'une seule ligne à écrire pour regrouper toutes les textbox ( EX : ......For ouvrir = 0 To 7......).
Private

Sub Command8_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Command8.Click

Dim StrReader
As
New System.IO.StreamReader(
"C:\Projet\Donnees\Contact1.txt")

If Text15.Text =
"DUPONT"
Then
Text20.Text = StrReader.ReadLine
Text21.Text = StrReader.ReadLine
Text22.Text = StrReader.ReadLine
Text23.Text = StrReader.ReadLine
Text24.Text = StrReader.ReadLine
Text25.Text = StrReader.ReadLine
Text26.Text = StrReader.ReadLine
Text27.Text = StrReader.ReadLine
StrReader.Close()

End
If
End
Sub

Merci
zazsze

3 réponses

Utilisateur anonyme
17 déc. 2006 à 14:58
Pourquoi avoir reposter une question, alors que le prolbème est le même. Casy, t'as dis la solution, tu l'as même commencé à l'appliquer. Il fallait donc demmander des explications ici.



Dim TextCollection As New System.Collections.Generic.List(Of System.Windows.Forms.TextBox)
TextCollection.AddRange(New System.Windows.Forms.TextBox() {Text20, Text21, Text22, Text23, Text24, Text25, Text26, Text27})

Private Sub Command8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Command8.Click
  Dim StrReader As New System.IO.StreamReader("C:\Projet\Donnees\Contact1.txt")
  If Text15.Text = "DUPONT" Then
    For Each TextBox As System.Windows.Forms.TextBox In TextCollection
      TextBox.Text = StrReader.ReadLine
    Next
    StrReader.Close()
  End If
End Sub,

----

(Coloration syntaxique automatique par Kenji)





__________
Kenji
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
17 déc. 2006 à 14:13
Tu peux le faire aussi en VB2005, mais ce qui était automatique en VB6, doit etre désormais fait manuellement.

Il faut que tu crée une collection ou tu ajoute tes textbox. Ensuite au lieu d'appeler chacune des textbox, tu peux apeller chacun des item de la collection.

Regarde du coté des collections donc.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
zazsze Messages postés 54 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 15 août 2007
17 déc. 2006 à 19:07
salut,
Désolé, je voulais juste me rabattre vers le thème "...divers /débutant..." qui correspondait plus à mon niveau pour ne pas encombrer cette section.
En tout cas merci, ça fonctionne à merveille.

zazsze
0
Rejoignez-nous