Tout d'abord, bonjour à tous(tes).


Je développe un petit programme dans lequel j'ai créé mes propres UserControl et notamment un contrôle de type "expander" qui se déplie et se replie (cf images ci-dessous).

Mon U.C. collapsed:


Mon U.C. expanded:



Mon User Control fonctionne comme je le désire, cependant j'aimerais en disposer dans une liste verticale dynamique (régie par des boutons "+", "-", ...).

J'ai d'abord cherché un contrôle correspondant au StackPanel d'ASP .NET, mais il semblerait que je ne puisse pas trouver ça en VB .NET.

Tant pis, après avoir tenté une solution maison à base de FlowLayoutPanel puis de TableLayoutPanel.
J'ai réussi à faire un bricolage pas terrible et qui ne me convenait pas (fonctionne, mais pas fonctionnel à l'utilisation et pas optimum).

Je me suis donc rabattu sur le ListBox (ici, ajout d'un UserControl du même type que celui sur les images).
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
16
17
18
    ' Ajoute un nouveau panneau d'option numériques repliable s'il n'existe pas déjà
    Private Function addANumberOption(ByVal panneauOption As cu_BoiteRepliable) As Boolean
 
        ' Vérifie que l'élément à entrer n'existe pas déjà
        For Each optionNombre As cu_BoiteRepliable In Me.LB_options.Controls
            If optionNombre.Titre.ToLower.Equals(panneauOption.Titre.ToLower) Then
                Return False
            End If
        Next
 
        ' Crée un nouveau panneau repliable
        panneauOption.addControl(New cu_nombre)
 
        ' Ajoute le panneau dans la liste
        Me.LB_options.Items.Add(panneauOption)
 
        Return True
    End Function
Or si mes éléments (= mes contrôles utilisateurs que j'ai précédemment créés) s'ajoutent correctement dans la collection des items du ListBox, l'affichage ne suit pas.


Est-il possible d'afficher mon contrôle entièrement (c'est-à-dire pas uniquement une propriété ou un ensemble de propriétés, mais tel que je le vois) ou alors dois-je changer de méthode et trouver une autre solution ?


Merci par avance pour vos réponses.

Bonne journée/soirée, cordialement.

Furior