Dans une form, je clique sur un bouton pour fairte appara=EEtre un popup,=
=20
jusque l=E0, rien de grave, dans mon popup je cr=E9er une nouvelle entr=E9=
e=20
dans ma base de donn=E9e, et quand je la valide, le popup se referme et l=
=E0=20
o=F9 je coince, c'est que je voudrait que la liste qui se trouve dans la =
premiere form s'actualise, mais je veux pas mettre la fonction=20
UpdateListe en static...
En fait, j'aimerai faire =E7a, mais =E7a ne fonctionne pas :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Bacelar
Tu as plein de moyens, plus ou moins élégants en fonction de l'architecture générale de ton application.
Pour éviter un static (très bon réflexe), tu peu toujours passer une référence à l'objet contenant ta méthode UpdateListe comme paramètre du constructeur de ta popup.
Tu pourras appeler sa méthode le moment venu.
Mais, vu de loin, je pense que l'utilisation d'Events serait bien plus efficace.
Dans ton formulaire principal, tu enregistres un delegate sur un événement qui se déclenche lors de la mise de la base de donnés. L'évènement serait, par exemple, un événement d'un objet GestionnaireDB. GestionnaireDB serait utilisé par ta popup et, sur chaque modification de la base de donné, déclencherait l'événement (c'est GestionnaireDB qui déclenche, encapsulation rules ;-) ).
Tu auras un code beaucoup plus maintenable et élégant.
Par exemple, si tu à un nombre important de formulaire à mettre à jour en même temps, tu n'auras qu'à ajouter l'enregistrement d'un delegate dans le constructeur de chaque formulaire et tu pourra toujours gérer les mises à jour de la base et cela d'où que vienne cette modification.
Attention au multi-threading et les limitations des composants graphiques avec les delegate. Invoke sera un allié non négligeable. -- Paul Bacelar Demandeur d'emploi
"amplitude" wrote in message news:chc93s$1mr$ re-bonjour,
Dans une form, je clique sur un bouton pour fairte apparaître un popup, jusque là, rien de grave, dans mon popup je créer une nouvelle entrée dans ma base de donnée, et quand je la valide, le popup se referme et là où je coince, c'est que je voudrait que la liste qui se trouve dans la premiere form s'actualise, mais je veux pas mettre la fonction UpdateListe en static...
En fait, j'aimerai faire ça, mais ça ne fonctionne pas :
public static void UpListe() { UpdateListe(); }
private void UpdateListe() { ... }
Tu as plein de moyens, plus ou moins élégants en fonction de l'architecture
générale de ton application.
Pour éviter un static (très bon réflexe), tu peu toujours passer une
référence à l'objet contenant ta méthode UpdateListe comme paramètre du
constructeur de ta popup.
Tu pourras appeler sa méthode le moment venu.
Mais, vu de loin, je pense que l'utilisation d'Events serait bien plus
efficace.
Dans ton formulaire principal, tu enregistres un delegate sur un événement
qui se déclenche lors de la mise de la base de donnés. L'évènement serait,
par exemple, un événement d'un objet GestionnaireDB. GestionnaireDB serait
utilisé par ta popup et, sur chaque modification de la base de donné,
déclencherait l'événement (c'est GestionnaireDB qui déclenche, encapsulation
rules ;-) ).
Tu auras un code beaucoup plus maintenable et élégant.
Par exemple, si tu à un nombre important de formulaire à mettre à jour en
même temps, tu n'auras qu'à ajouter l'enregistrement d'un delegate dans le
constructeur de chaque formulaire et tu pourra toujours gérer les mises à
jour de la base et cela d'où que vienne cette modification.
Attention au multi-threading et les limitations des composants graphiques
avec les delegate. Invoke sera un allié non négligeable.
--
Paul Bacelar
Demandeur d'emploi
"amplitude" <news@ampBLOUdesign.net> wrote in message
news:chc93s$1mr$1@apollon.grec.isp.9tel.net...
re-bonjour,
Dans une form, je clique sur un bouton pour fairte apparaître un popup,
jusque là, rien de grave, dans mon popup je créer une nouvelle entrée
dans ma base de donnée, et quand je la valide, le popup se referme et là
où je coince, c'est que je voudrait que la liste qui se trouve dans la
premiere form s'actualise, mais je veux pas mettre la fonction
UpdateListe en static...
En fait, j'aimerai faire ça, mais ça ne fonctionne pas :
Tu as plein de moyens, plus ou moins élégants en fonction de l'architecture générale de ton application.
Pour éviter un static (très bon réflexe), tu peu toujours passer une référence à l'objet contenant ta méthode UpdateListe comme paramètre du constructeur de ta popup.
Tu pourras appeler sa méthode le moment venu.
Mais, vu de loin, je pense que l'utilisation d'Events serait bien plus efficace.
Dans ton formulaire principal, tu enregistres un delegate sur un événement qui se déclenche lors de la mise de la base de donnés. L'évènement serait, par exemple, un événement d'un objet GestionnaireDB. GestionnaireDB serait utilisé par ta popup et, sur chaque modification de la base de donné, déclencherait l'événement (c'est GestionnaireDB qui déclenche, encapsulation rules ;-) ).
Tu auras un code beaucoup plus maintenable et élégant.
Par exemple, si tu à un nombre important de formulaire à mettre à jour en même temps, tu n'auras qu'à ajouter l'enregistrement d'un delegate dans le constructeur de chaque formulaire et tu pourra toujours gérer les mises à jour de la base et cela d'où que vienne cette modification.
Attention au multi-threading et les limitations des composants graphiques avec les delegate. Invoke sera un allié non négligeable. -- Paul Bacelar Demandeur d'emploi
"amplitude" wrote in message news:chc93s$1mr$ re-bonjour,
Dans une form, je clique sur un bouton pour fairte apparaître un popup, jusque là, rien de grave, dans mon popup je créer une nouvelle entrée dans ma base de donnée, et quand je la valide, le popup se referme et là où je coince, c'est que je voudrait que la liste qui se trouve dans la premiere form s'actualise, mais je veux pas mettre la fonction UpdateListe en static...
En fait, j'aimerai faire ça, mais ça ne fonctionne pas :