Ajout de label, textbox sur clic de bouton

Signaler
Messages postés
48
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2009
-
Messages postés
48
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2009
-
Bonjour


je voulais savoir si il était possible d ajouter des objects sur simple clic de bouton.

je voudrais obtenir une liste de label avec dans chaqu'un une ligne de ma base de donnee. Lorsque je clique sur un bouton une textbox apparait en fin de liste me permetant d'ajouter une nouvelle ligne dans la base de donnée et donc un nouveau label.


comment faire pour avoir un nombre illimite de label avec des noms comme label_ligne_1, label_ligne_2...grace a un clic de bouton.


Merci de votre aide

8 réponses

Messages postés
238
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
29 septembre 2011

Salut,
est ce une obligation que cela soit des labels?
tu ne peux pas utiliser une autre approche (dataset binder à une datagridview) ?

The possible meet the impossible to become the possimpible !!
Messages postés
61
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
24 février 2010

MOH a raison,  ça va etre completement horrible.
Mais c'est faisable je crois. Tu fais une fonction qui te créé un nouveau label (new label()). dans set meme fonction du lui aura passé en parametre des coordonnées que tu aura, pour chaque enregistrement, incrémentées de maniere adéquate. et tu utilises tes parametre avec SetBounds.
 
Un beau merdier quoi...
Messages postés
48
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2009

je prefere des label car sa sera plus présentable.

sinon pour le plus simple j'aurais utilisé une listbox mais ce n'est vraiment pas le look que je veux donnée.

Pour l'instant j ai trouver un moyen d'en placer une mais la boucle ne me permet de repeter l'operation
Messages postés
48
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2009

voici se que je fais pour l'instant:

Label[] lab = new Label[10];

foreach (Label label in lab)

{
label = new Label();

label.Name = "Label_" + i.ToString();

label.Visible = true;

label.Show();

label.Text = "Label " + i.ToString();

i++;

y += 25;

this.Controls.Add(label);

}

mais le new fait tout planter
Messages postés
238
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
29 septembre 2011

Comme l'a dit rours sa va être galère à implémenter...mais c'est possible
Une autre idée: toujours sur l'idée datagridview ou peut être listview. Il n'est pas possible de changer le style du datagrid pour "faire croire" à des labels (genre changer le fond, les bordures etc..) ??
Duper l'utilisateur quoi !!!

The possible meet the impossible to become the possimpible !!
Messages postés
238
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
29 septembre 2011

Alors avec ton code, tu n'es qu'à 10 labels et tu galères déjà ....
tu seras limité à 10 labels? ton tableau variera en fonction des enregistrements présents dans ta bdd. Si tu t'obstines, tu auras pas mal de travail en perspective !!

The possible meet the impossible to become the possimpible !!
Messages postés
48
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2009

Cela doit etre possible mais je ne suis pas sur que je puisse faire tous se que je veux avec.


en gros la form est petite height=50 lors de l'ouverture et puis selon le nombre de label la form s'agrandi.


si l'utilisateur supprime grace a un bouton la ligne alors la form devien plus petite. le label effacé prend la valeur de celui d'appres... pour pouvoir cacher la derniere ligne.


je crains que en dernier recour je creai 10 lignes que je n'affiche (visible=true et form.height +=20) que lorsque la ligne est remplie?


c'est tres moche mais sa marche
Messages postés
48
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
6 juin 2009

pour MOH la boucle avec 10 labels est plus un test que autre chose.


normalement je fais un count dans la base de données est je creer x nombre de label que je rempli avec chaque ligne de la base.

puis chaque ajout creer une nouvelle ligne