Afficher un nombre d'input box dynamique

Lordbo Messages postés 4 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 7 septembre 2009 - 3 août 2009 à 16:16
Lordbo Messages postés 4 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 7 septembre 2009 - 7 août 2009 à 19:42
Mon problème est le suivant:
Je suis actuellement en train de coder une application me permettant de créer un dataset (qui sera plus tard sauvegardé en tant que fichier binaire).
Il permet donc tout d'abord l'ajout d'attributs, ici appelés critères, possédant différents attributs qui ne sont pas pertinents concernant le problème.

Ensuite, je veux permetrte à l'utilisateur d'ajouter une nouvelle instance dans ce dataset, comprenant donc l'identifiant et la valeur pour chacun des critères.

Le fait que le nombre de critères ne soit pas connus avant l'utilisation du logicielle me laisse perplexe quand à proposer un formulaire où l'on trouverait une input box pour entrer la valeur de chaque critère en plus de celle contenant l'identifiant.

Je voulais donc savoir quelle serait la méthode la plus simple pour arriver à mes fins.

Merci d'avance.

2 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
3 août 2009 à 20:27
Salut, si la question est "comment créer des contrôles à la volée" voilà un exemple :

public partial class Form1 : Form
{
    public Form1( )
    {
        InitializeComponent( );
        CreateLabels( 5 );
    }

    private void CreateLabels( int cnt )
    {
        Label[ ] labels = new Label[ cnt ];
        for( int i = 0; i < cnt; i++ )
        {
            Label lb = new Label( );
            lb.Location = new Point( 10, 10 + 30 * i );
            lb.Size = new Size( 50, 20 );
            lb.Text = String.Format( "Label{0} :", i + 1 );
            lb.Click += new EventHandler( Labels_Click );
            labels[ i ] = lb;
        }

        this.Controls.AddRange( labels );
    }

    private void Labels_Click( object sender, EventArgs e )
    {
        Label lb = ( Label )sender;
        MessageBox.Show( lb.Text );
    }
}
0
Lordbo Messages postés 4 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 7 septembre 2009
7 août 2009 à 19:42
Merci bien, j'ai pu intégrer le code comme je le voulais dans mon application grâce à ton exemple.
0
Rejoignez-nous