pb actualiser RichTextBox en cours de traitement

Le
psykzix
Bonjour

Je débute en C sharp et je voudrais explorer les dossiers du disque et
afficher en cours de traitement les noms des répertoires rencontrés.

Seulement, l'affichage ne se produit qu'à la fin du traitement.

Pourriez-vous me donnez des pistes svp ?

Merci !

c'est une application WPF dont voici le code principal :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.IO;
using System.Threading;

namespace WpfApplication1
{
/// <summary>
/// Logique d'interaction pour Window1.xaml
/// </summary>
public partial class Window1 : Window
{
private string racine = @"C:Program FilesAdobeAcrobat
8.0Acrobat"; // Pour tests

private string texte = "";
public delegate void DelegueAjoutTexte();
public event DelegueAjoutTexte TexteEvent;

public Window1()
{
InitializeComponent();
TexteEvent += TexteAjout;
}

private void demarrer_Click(object sender, RoutedEventArgs e)
{

explorer();
}

public void explorer()
{
string chemin = racine;
DirectoryInfo dirInfo = new DirectoryInfo(chemin);
if (dirInfo.Exists)
{
explorer(chemin, dirInfo);
}
else
{
texteZone.AppendText("ERREUR : le répertoire "" +
chemin + "" n'existe pas.");
}
}

private void explorer(String chemin, DirectoryInfo dossier)
{
DirectoryInfo[] repertoires = dossier.GetDirectories();
texte = chemin;

//TexteAjout();
declencherEvent();

string path = "";
foreach (DirectoryInfo rep in repertoires)
{
path = chemin + @"" + rep.ToString();
explorer(path, rep);
}
}

private void declencherEvent()
{
if (this.TexteEvent != null)
{
this.TexteEvent();
}
}

public void TexteAjout()
{
texteZone.AppendText(texte + "");
}
}
}
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy Jeanson
Le #19018591
Bonjour psykzix,

Ce que tu souhaite faire entre dans le context du BackGroundWorker,
C'est un control très sympathique qui vas te permettre d'effectuer une
tache de font tout en mettant ton interface à jour.

Pour plus d'informations voici le lien vers la MSDN:
http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
psykzix
Le #19026781
Jérémy Jeanson a écrit :
Bonjour psykzix,

Ce que tu souhaite faire entre dans le context du BackGroundWorker,
C'est un control très sympathique qui vas te permettre d'effectuer une
tache de font tout en mettant ton interface à jour.

Pour plus d'informations voici le lien vers la MSDN:
http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx




Bonjour
Oui cela semble être une solution.
Malheureusement, j'ai un peu de mal à utiliser BackgroundWorker dans mon
application WPF.
Les exemples dont je dispose sont avec windowsForm.
Merci de votre aide!
Jérémy Jeanson
Le #19027201
Bonjour psykzix,

Pas de soucis, il suffisait de dire qu'il s'agissait de WPF ;)

La page suivante explique plutôt bien l'utilisation de BackGroundWorker WPF:
http://msdn.microsoft.com/fr-fr/magazine/cc163328.aspx

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
psykzix
Le #19027541
Jérémy Jeanson a écrit :
Bonjour psykzix,

Pas de soucis, il suffisait de dire qu'il s'agissait de WPF ;)

La page suivante explique plutôt bien l'utilisation de BackGroundWorker
WPF:
http://msdn.microsoft.com/fr-fr/magazine/cc163328.aspx




:)

Je cherche depuis que j'ai lu ton message et j'avais effectivement
trouvé cette page.
L'ennui c'est que je dois avoir un soucis de dépendance ou de référence
manquante et je ne trouve pas pour le moment lesquelles.
Va falloir que j'étudie la question plus en détail.

En tout cas merci encore! ;)
Publicité
Poster une réponse
Anonyme