Bonjour à tous,

Dans le cadre d'une conversion de VB6 vers VB.net.

J'ai plusieurs formulaires avec énormément d'objet graphique, surtout l'un de ceux ci qui comporte 120 fois le même groupe de 10 objets donc 1200 objets graphique (textbox, picture, label).

En vb6 impossible de dépasser les 255 objets sans passer par des tableaux d'objet avec la gestion des index. VB6 le gère parfaitement et mon code en est simplifié par la suite à l'aide de boucle, surtout que ce qui me permet de gérer ces images et texte est lui aussi en tableau.
En VB.net il n'y a pas de gestion d'index sur les Objet mais j'ai trouvé une parade qui fonctionne et pratique lorsqu'il n'y a pas autant d'objet crée.

exemple simplifié:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
    private MesTextBox(10) as new TextBox
 
    Public Sub New()
          MesTextBox(0) = textBox0
          MesTextBox(1) = textBox1
          MesTextBox(2) = textBox2
          MesTextBox(3) = textBox3
          MesTextBox(4) = textBox4
          MesTextBox(5) = textBox5
          MesTextBox(6) = textBox6
          MesTextBox(7) = textBox7
          MesTextBox(8) = textBox8
          MesTextBox(9) = textBox9
    End Sub
J'utilise ensuite MesTextBox comme je le faisait en VB6.

Toutefois sur le formulaire aillant les 1200 objets j'aimerais savoir s'il y a mieux à faire quand même.
J'ai entendu parlé de création d'un modèle afin de le reproduire. Mais pour le moment j'ai pas trouvé d'exemple.

Voila mon modèle à reproduire 120 fois.

Nom : Modele.png
Affichages : 260
Taille : 635 octets
il y a donc un GroupBox qui contient 6 PictureBox, 3 textbox et un label (sur la photo un textbox avec le 1 mais un label est mieux). Les PictureBox me sert à afficher des voyants d'état ou d'alarme, les TextBox pour des mesures et le Label pour le numéro de 1 a 120 (toujours fixe)

Les 120 groupes sont divisé en 4 et affichés dans 4 onglets d'un tabControl.

Je continu à chercher mais si vous avez un tuto à me conseiller se serait sympa, merci.