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 :

[WPF][C#] Le jardinier veut Mettre à jour une lisbox


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 205
    Par défaut [WPF][C#] Le jardinier veut Mettre à jour une lisbox
    Bonjour,

    Lors d'un click sur un bouton je charge des données dans une listbox mais le problème est que c'est reste figé pendant le chargement alors j'ai décidé de le faire dans un backgroundworker sauf que ma listbox ne se rafraichit pas et je n'arrive pas à trouver le moyen de modifier le busyIndicator pdt l'execution de mon backgroundWorker

    Merci d'avance !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
        public partial class MainWindow : Window
        {
            AnanceAuthService.AuthenticationServiceSoapClient authClient;
            HcPrgService.HcPrgServiceSoapClient HcPrgClient;
            AnanceAuthService.User currentAuthUser;
            BackgroundWorker bw;
     
            public MainWindow()
            {
                InitializeComponent();
     
                ThemeManager.ApplyTheme(this,"GlossyDarkTheme");
                authClient = new AnanceAuthService.AuthenticationServiceSoapClient();
                HcPrgClient = new HcPrgService.HcPrgServiceSoapClient();
            }
     
            private void btnGetHc_Click(object sender, RoutedEventArgs e)
            {
                bw = new BackgroundWorker();
                bw.DoWork += new DoWorkEventHandler(bw_DoWork);
            }
     
            private void GetHc()
            {
                try
                {
                    //this.BusyIndGetHc.IsBusy = true;
                    var Hcs = HcPrgClient.GetT_HC();
                    lstHc.ItemsSource = Hcs.RootResults;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
     
            void bw_DoWork(object sender, DoWorkEventArgs e)
            {
                GetHc();
            }

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Voici un tutoriel concernant l'utilisation du BackgroundWorker :
    http://glarde.developpez.com/dotnet/bgworker/

    En résumé, dans l'évènement DoWork, tu ne dois pas mettre de code lier à l'interface.
    C'est dans l'événement RunWorkerCompleted (déclenché quand le traitement est terminé) que tu vas afficher les informations dans ta ListBox.

    Tu as également un évènement ProgressChanged qui peut s'avérer intéressant dans certains cas de figure pour notifier l'interface de la progression du traitement.

    Enfin n'hésites pas à lire le tutoriel, il complètera ce que je viens de dire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mettre à jour une JLabel
    Par Zobbiwan dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 05/01/2006, 18h33
  2. Prb mettre à jour une table via un fichier excel
    Par antier dans le forum Access
    Réponses: 3
    Dernier message: 02/12/2005, 10h31
  3. Mettre à jour une base sous SQL SERVER 2000
    Par FilipeVV dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 11/02/2005, 12h24
  4. Comment mettre à jour une ligne sans doublon via déclencheur
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/08/2004, 15h56
  5. Mettre à jour une table depuis une autre
    Par rsc dans le forum SQL
    Réponses: 4
    Dernier message: 09/07/2004, 10h08

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