cs_diego29
Messages postés22Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention17 octobre 2007
-
20 nov. 2006 à 17:53
cs_diego29
Messages postés22Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention17 octobre 2007
-
28 nov. 2006 à 12:11
bonjour ,
je souhaite afficher des nombres premiers dans une listbox à travers un thread
voici mon code sans erreur de compilation mais qui n'affiche rien quelqu'un a t il une idée ?
merci.
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
using
System.Threading;
namespace
Premier{
public
partial
class
Form1 :
Form{
public Form1(){
InitializeComponent();
}
[
STAThread]
public
static
void lancePremier(){
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(
false);
Application.Run(
new
Form1());
Thread t =
new
Thread(
new
ThreadStart(ThreadFunction));t.Start();
}
private
static
void ThreadFunction(){
Form1 f =
new
Form1();
//f.listBox1.BeginUpdate();
for (
int p = 1; p < 50; p++){
int i = 2;
while ((p % i) != 0 && i < p){
i++;
}
if (i == p){
f.listBox1.Items.Add(p.ToString());
Thread.Sleep(50);}
}
//f.listBox1.EndUpdate();}
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 20 nov. 2006 à 18:09
Salut,
Pas super la mise en forme de ton texte
Ca ne marche surement pas pour des raisons de cross-threading. Si t'as pas d'exception c'est certainement que tu travailles avec le framework 1.
Tu peux jeter un oeil à ce tuto de Mx qui parle du cross-threading
cs_diego29
Messages postés22Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention17 octobre 2007 27 nov. 2006 à 11:44
petite question complémentaire :
ce code premier qui est maintenant sous forme de dll est dans une autre application qui doit pouvoir appeler ce thread à partir d'un menu dans le genre :
Console.WriteLine(
"lancement d'un thread Premier");
Premier obj2 =
new
Premier();
obj2.Form1();
}
le problème est que cette fois la form premier ne s'affiche plus et on ne lance pas le thread.Etant encore débutant en C# je ne vois pas le problème, pouvez vous m'aider?
merci