Problème Application C# Win Form

Résolu
Pignouff Messages postés 100 Statut Membre -  
Pignouff Messages postés 100 Statut Membre -
Bonjour,



Je viens demander votre aide car je susi vraiment bloqué en c# dans le developpement d'une petite application pour mon école.

Mon soucis est que je récupère le résultat d'une requête SQL, et pour j'écris le résultat dans des labels dynamique. J'aimerais qu'en cliquant sur le label, j'ajoute à une table Mysql l'id du produit écrit dans le label.. Je ne sais pas si vous voyer, peut être qu'avec ce simple bout de code, ce sera mieux..

while (Reader.Read())
{
string prix,taille,nom,marque, description;
prix = Reader.GetString(4)+ "€";
taille=Reader.GetString(3);
nom=Reader.GetString(2);
marque = Reader.GetString(1);
description = Reader.GetString(5);
id=Reader.GetString(0);

Label[] results_label = new Label[nombre_résultats];


results_label[x] = new Label();
results_label[x].Location = new System.Drawing.Point(posx, posy);
results_label[x].Size = new System.Drawing.Size(300, 25);
results_label[x].Font = new Font("Segoe UI", 11);
results_label[x].Text = marque + " " + nom + " " + taille + " " + prix;
results_label[x].AutoSize = false;


Controls.Add(results_label[x]);
posy += 25;
x+=1;
}
A voir également:

5 réponses

L0ci Messages postés 112 Statut Membre 30
 
Bonjour,
rajoute juste un évènement sur ton label:
            Label l = new Label();
            l.MouseUp += new MouseButtonEventHandler(l_MouseUp);

Et exécute ta requête dans la fonction appelée.
0
Pignouff Messages postés 100 Statut Membre 1
 
Je l'ai fait effectivement, mais comme c'est un tableau de label, je ne vais pas créer un évènement pour chaque label..
Et comment je récupère l'id qui n'est pas stocké dans le label?
0
L0ci Messages postés 112 Statut Membre 30
 
Eh bien comme ceci:
 
         private void label1_MouseUp(object sender, MouseButtonEventArgs e)
        {
            Label l = (Label)sender;
            MessageBox.Show(l.Text);
        }
Le label1_MouseUp est l'évènement appelé par tous les labels. Tu n'as qu'à récupérer l'objet qui déclenche l'évènement (sender). Ensuite tu as accès à toutes les propriétés de cet objet.
0
Pignouff Messages postés 100 Statut Membre 1
 
D'accord merci beaucoup, et puis je stocker une variable de type int dans un label sans l'écrire?

Comme ça je récupère l'id dans la fonction, et je n'ai plus cas éxécuter ma requête!

Merci d'avance
0
L0ci Messages postés 112 Statut Membre 30
 
Euh ça je ne pense pas. Mais tu peux utiliser une liste d'objets qui ont id et une valeur , ou récupérer l'id dans ta base dans ta base
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pignouff Messages postés 100 Statut Membre 1
 
Mon soucis majeur est que je ne sais pas quelle label je clique.
Que ce sois label[2] ou label[9] ou label[x], c'est la même méthode...
Comment je pourrais récupérer ce x?? C'est là mon dernier soucis, je suis désolé je débute en c#.. ^^
0
L0ci Messages postés 112 Statut Membre 30
 
Regarde ma deuxième réponse. Ce code te permet de récupérer l'objet Label sur lequel tu as cliqué. et UNIQUEMENT celui la, qu'il y en ai 1, 10, 100... Tu aura accès a toutes les méthodes de cet objet.
0
Pignouff Messages postés 100 Statut Membre 1
 
J'ai stocké mon id en text d'un bouton et j'ai mis le text transparent, cest sale mais ça marche, merci beaucoup!
0