Fenêtre qui se fige lors du traitement

cs_grami Messages postés 7 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 janvier 2007 - 17 nov. 2006 à 10:45
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 17 nov. 2006 à 11:33
bonjour,

voila, mon probleme est le suivant: je doi ouvrir un fichier pour traitement, qd je clik sur ouvrir, pendant tout le temp du traitement le programme (la fenetre) reste gelé , comment y remedier ????
il m'est impossible aussi d'utiliser une progressbar pour voir le deroulement car elle gele aussi

voila le code pour l'ouverture du fichier:




InfoMessage.AppendText(





DateTime
.Now.Hour +

":"

+

DateTime

.Now.Minute +

":"

+

DateTime

.Now.Second +

" - Ouverture du fichier IFC"

+

"\n"



);






OpenFileDialog
openFileDialog1 =

new




OpenFileDialog



();

openFileDialog1.InitialDirectory =




Application

.StartupPath;

openFileDialog1.Filter =




"Fichier IFC (*.ifc)|*.ifc"

;

openFileDialog1.FilterIndex = 1 ;



openFileDialog1.CheckFileExists =




false

;












if
(openFileDialog1.ShowDialog() ==

DialogResult



.OK)
   
{   




      if
(openFileDialog1.FileName!=

null



)
         
{
            



MyFile = openFileDialog1.FileName;
            
textBox1.Text= MyFile;

InfoMessage.AppendText(



DateTime
.Now.Hour +

":"

+

DateTime

.Now.Minute +

":"

+

DateTime

.Now.Second +

" - Fichier selectioné : "

+ MyFile

"\n"



);




}
}

Init.Initialisation(MyFile);





//chargement du fichier IFC




InfoMessage.AppendText(





DateTime
.Now.Hour +

":"

+

DateTime

.Now.Minute +

":"

+

DateTime

.Now.Second +

" - Fichier Chargé en memoire: "

+ MyFile +

"\n"



);









merci

3 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
17 nov. 2006 à 11:11
Salut,

C'est normal, tu dois lancer ton traitement dans un nouveau Thread, plutot que dans le thread principal, si tu veux que l'interface reste reactive.

Mx
MVP C# 
0
cs_grami Messages postés 7 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 janvier 2007
17 nov. 2006 à 11:28
comment faire cela??? les thread jai jamais compris le fonctionement, en fait javai experimenter ca, mas ca me donné un message d erreur genre ..... na pas eté apelé du thread... je n c pa koi

le code que j'avai utilise c celui la : 

publicstaticvoid Main()
{
   Thread myThread;
   myThread = new Thread(new ThreadStart(ThreadLoop));
   myThread.Start();
}
 publicstaticvoid ThreadLoop()
{
}
}
}

pouvez vous m'aider svp a implementer les thread, "Init.Initialisation(MyFile)" est une classe que j apel lors du clic du boutton
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
17 nov. 2006 à 11:33
Regarde cette source, qui te permettra d'avoir un exemple
http://www.csharpfr.com/codes/THREAD-PROGRESSBAR-EXEMPLE-SIMPLE_40294.aspx

Mx
MVP C# 
0
Rejoignez-nous