Bonjour à tous,

Expert dans une technologie propriétaire (piégé)..
J'ai décidé de développer un projet perso en C# pour me former et surtout m'ouvrir d'autres possibilités.

Mon 1er objectif est de parvenir à créer un Ecran de saisie dynamique.

Description de l'objectif :

Un bloc de widgets (en-tête) ( Edit + combo + check box + bouton ajout sous bloc) ( Statique non modifiable)

N sous bloc (corps de l'en-tête) ( Edit + combo + check box + bouton ajout sous bloc) ( lien de parenté au bloc en-tête)

Je souhaite ajouter N sous bloc pour la saisie lié(s) à son bloc en-tête.
Chaque sous-bloc possède un bouton pour sa suppression.

Il n'y a pas de limite de lignes ( bloc / sous-bloc)
Les blocs « en-tête » sont générés en fonction d'une requête sql.
Les blocs « sous bloc» sont générés en par l’utilisateur.


A la validation de l'écran l'ensemble des sous blocs est stocké en base de donnée
( une ligne dans une table / sous bloc)
( attention uniquement sur l'action de validation de l'écran)


Pouvez vous m'orienter pour le développement.

J’imaginais créer une class par type de bloc ( en fonction de coordonnées) .
Puis créer un objet du type nécessaire en stockant les instances dans un tableau pour pouvoir par la suite les parcourir et en extraire les données pour les sauvegarder en base.

Cependant je ne sais pas comment faire pour générer dynamiquement les blocs, conserver « l'instance » d’un objet pour pouvoir par la suite en extraire les données en parcourant la liste complète des objets créés.

Je regardais la dataviewgrid mais le coté "cellules" ne me convient pas pour une mise en page correcte des champs de saisie.

Dans l'attente de votre aide afin de m'orienter dans ma production.

[edit]
Pour information je m'orientes vers une utilisation de la class list pour indexer les blocs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 private class bloc_bidon
    {
// Code .... 
    }
puis utiliser ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
bloc_bidon bloc_bidon = new bloc_bidon;
list<bloc_bidon> bloc_bidon_ls = new list<bloc_bidon>;
et jouer avec la méthode add et remove...

Par contre je cherche un "container" pour avoir une scroll bar ...
si vous avez des conseilles



[edit]

bon j'ai tenté de créer mon sous bloc en partant d'un System.Windows.Forms.Panel

hors je ne parviens pas a créer une class dans la form1 me permetant de créer plusieurs blocs dynamiquement, en plus le type de variable list n'existe pas !
Help

[Edit]
A force de tenacité j'ai trouvé la réponse moi même un grand merci à moi