Mise à jour automatique d'une form à partir d'une autre
benamoussa
Messages postés9Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention16 avril 2008
-
26 mars 2008 à 15:47
benamoussa
Messages postés9Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention16 avril 2008
-
4 avril 2008 à 09:51
Bonjour à toute la communauté!
Tout d'abord, la petite phrase d'introduction pour dire que je suis débutant et que je serai vraiment navré d'être le trentième à poser la quesiton mais j'ai déjà fait une recherche sur ce forum sans trouver des réponses à ma portée : je suis débutant :)
Voilà, maintenant, on commence.
Mon problème est lié au passage de paramètres entre formulaire. J'ai une form mère qui appelle une form fille dans laquelle je rentre des paramètres. Une fois validée, la form fille se ferme et je récupère les paramètres dans la form mère (merci à Bidou et son projet dédié au passage de paramètres : http://www.csharpfr.com/codes/PASSAGE-PARAMETRES_26735.aspx).
Maintenant, je souhaite qu'une fois cette form fille fermée, une troisième form (constituée d'une listview et ouverte lorsque la form mère s'ouvre) soit automatiquement mise à jour avec les paramètres que je viens de rentrer mais également tous ceux que j'ai déjà pu rentrer auparavant.
En gros, un appel du type
Form3 form = new form(client);
form.Showdialog();
dans ma form mère me renvoie ma listview avec uniquement la dernière valeur... Pas bien.
La solution est peut être dans le projet de Bidou justement, mais je ne suis pas capable de la trouver sans aide!
Donc, merci pour votre aide!
++
Benoit
A voir également:
Mise à jour automatique d'une form à partir d'une autre
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 26 mars 2008 à 19:17
Salut
J'avais vu le projet de Bidou qui aide c'est vrai
Mais j'ai aussi trouvé ceci qui apporte encore un peu d'info et ressemble asser a ce que tu veux faire
benamoussa
Messages postés9Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention16 avril 2008 27 mars 2008 à 11:49
Salut olibara,
En fait, le lien que tu m'as passé est trop similaire à la source de Bidou je pense. Mais merci d'avoir pris du temps pour moi!
Mon souhait est de faire une mise à jour sur une form ouverte en même temps que la form principale à partir d'une troisième form appelée par la form mère. Je vais illustrer ce souhait pour bien me faire comprendre :
En fait, je veux faire un logiciel de billetterie pour salle de spectacle.
Ma form mère représente la salle avec ses sièges. Je peux cliquer sur un siège et une form s'ouvre avec les renseignements type Nom etc... A l'appui sur OK, j'update des trucs dans ma form mère, genre changement de couleur de siège fonction de la personne (donc la source de Bidou et celle que tu m'as passé sont utiles).
Mais j'ai aussi une autre form ouverte avec la form mère qui récapitule les gens présents dans la salle dans une listview. C'est cette form que je n'arrive pas à mettre à jour "avec mémoire", c'est-à-dire que j'arrive bien à repérer la nouvelle entrée, mais je n'ai plus l'entrée précédente dans ma listview! En gros, si 20 personnes ont acheté une places, je n'ai dans ma listview que le dernier client!
Si jamais tu as des idées, si jamais vous avez des idées!
++ et merci d'avance
Benoit
benamoussa
Messages postés9Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention16 avril 2008 27 mars 2008 à 14:15
Je te crois volontiers, je ne suis pas ce qu'on peut appeler un expert :)
En fait, mon problème c'est que je ne sais pas comment faire référence dans ma form mère à la listview de l'autre form sans faire un :
Form3 form = new form(client);
form.Showdialog();
avec client qui contient les données de la form 2 (Nom etc...) et que je souhaite afficher dans la listview.
Le problème de faire un appel par la commande new, c'est que ça créé précisement une nouvelle form, sans rien dedans!
Je ne sais pas si je donne assez d'informations en fait...
Allez, je mets un peu plus de code, au pire, ça ne servira pas :
dans ma form mère :
private void CaseClick(object sender, MouseEventArgs e)
{
(...)
Data Data = new Data(lettre, chiffre); // Appel de la form 2 (paramètres)
Data.Client_Added += new Bil_COxix.Data.AddClientEventHandler(this.newUser_Client_Added);
Data.ShowDialog(); // On l'affiche
(...)
}
private void newUser_Client_Added(Client client)
{
Recap Recap = new Recap(client); // C'est ma form 3 (récapitulatif)
Recap.Update(); // Je l'ai déjà ouverte au lancement de la form mère
}
Dans ma form 3 (Recap)
public Recap(Client client)
{
InitializeComponent();
benamoussa
Messages postés9Date d'inscriptionvendredi 30 novembre 2007StatutMembreDernière intervention16 avril 2008 4 avril 2008 à 09:51
Salut olibara, et merci pour ta réponse à nouveau.
Je ne m'en suis pas sorti comme ça non plus, pas évident de tomber juste à distance j'en conviens!!!
Du coup, je suis passé par un enregistrement dans un fichier xml à partir de la form 2, loadé par la form 3 pour mettre à jour sa listview.