IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Comment reload usercontrol avec click sur un bouton c#


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Comment reload usercontrol avec click sur un bouton c#
    Bonjour,

    Mon problème est le suivant : j'ai un usercontrol dans une form et je voudrais qu'au clic sur le bouton en question mon usercontrol se load lors de la premiere fois et se reload lors des fois suivante.

    Car actuellement j'utilise : usercontrol.show(); mais ceci ne reload pas l'usercontrol il l'affiche seulement de ce fais il n'est jamais mis à jour. Si j'ai des modifications à l'intérieur pour que les modifications soit effectué je dois fermer l'application et la réouvrir.

    Merci d'avance j'espere que vous pourrais m'aider.

  2. #2
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2015
    Messages : 26
    Points : 46
    Points
    46
    Par défaut
    WPF ou Windows Forms ?
    Pensez toujours à indiquer la bibliothèque graphique cible, c'est important.

    Edit:
    Assumant qu'il s'agit de Windows Forms (car en WPF vous ne devriez pas avoir à vous soucier de la synchro d'affichage de votre contrôle), la méthode pour forcer le reafraîchissement d'un contrôle est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    usercontrol.Invalidate();
    Source: MSDN: Control.Invalidate(), méthode

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    En fait, tu as un traitement dans ton événement MonUserControl_Load que tu voudrais exécuter quand tu affiche ton contrôle ?

    Dans l'absolu, je déplacerais le code contenu dans le Load pour le mettre dans une méthode Init([params]) que tu appelles lors du click sur ton bouton (ou alors tu fais un appel de ton MonUserControl_Load dans ton init)

    Sinon, tu peux toujours ajouter l'événement MonUserControl_VisibleChanged et mettre ton traitement là-dedans (pour rappel, le .Show() de UserControl ne fait que changer l'état de la propriété Visible disponible sur tout Control (et donc UserControl qui en hérite).
    "Hope for the best, but prepare for the worst."

Discussions similaires

  1. Comment récupérer le click sur un bouton en JQuery?
    Par AmFaye dans le forum Odoo (ex-OpenERP)
    Réponses: 7
    Dernier message: 15/01/2014, 15h12
  2. Réponses: 3
    Dernier message: 05/12/2010, 12h27
  3. Réponses: 3
    Dernier message: 14/04/2010, 01h59
  4. Réponses: 1
    Dernier message: 06/08/2008, 02h16
  5. Réponses: 6
    Dernier message: 18/12/2006, 15h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo