begin process at 2010 02 10 00:15:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Autre

 > 

Threads


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Threads

mardi 6 novembre 2007 à 17:41:37 | Threads

zebobo5

Membre Club
Salut à tous,

Soit 2 formulaire f1 et f2.

f1 est créé et affiché dans le thread principal.

On lance une méthode m1 de f1, puis le thread principal se met en WaitOne() avec un ManualResetEvent.

m1 qui crée un thread qui crée f2, et enfin un ShowDialog

Question : Comment faire pour que ce f2.ShowDialog(f1) dans m1 passe sans problèmes de thread et d'accès à f1

PS : L'application doit normalement se bloquer après le ShowDialog, mais là n'est pas le problème.

Finalement le plus simple c'est de vous mettre un bout de code test...

Code exemple :

        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            ManualResetEvent mre = new ManualResetEvent(false);
            Form1 f1 = new Form1();
            f1.Text = "F1";
            f1.Load +=
                delegate
                    {
                        Thread t2 = new Thread(
                            delegate ()
                                {
                                    Form2 f2 = new Form2();
                                    f2.Text = "F2";
                                    f2.Load +=
                                        delegate
                                            {
                                                mre.Set();
                                            };
                                    f2.ShowDialog(f1);
                                });
                        t2.Start();
                        mre.WaitOne();
                    };

            Application.Run(f1);
        }
        internal class Form1 : Form
        { }
        internal class Form2 : Form
        { }



ZeBobo5
N'oubliez pas de cloturer votre post.

mardi 6 novembre 2007 à 18:54:46 | Re : Threads

niky

Membre Club
Perso, je me débrouillerai pour faire en sorte que f1 et f2 s'exécutent dans le même thread. Par exemple, en créant une méthode CreateF2 dans Form1 :

void CreateF2()
{
    // Vrai si l'appel a été fait dans un autre thread que le thread dans lequel a été créé "this"
    if (this.InvokeRequired())
    {
       this.Invoke(...); // Regarder la syntaxe dans la doc pour invoquer CreateF2.
    }
    else
    {
       f2 = new Form2();
       // ... tout le reste du code de chargement de f2
    }
}

Cordialement.
mardi 6 novembre 2007 à 20:27:47 | Re : Threads

Bidou

Administrateur CodeS-SourceS
Hello,
L'interface graphique doit être gérée dans un seul  thread, sinon c'est problèmeS en ligne de mire assurés !



-My Blog-
mercredi 7 novembre 2007 à 11:35:29 | Re : Threads

zebobo5

Membre Club
ReBonjour,

Donc si j'ai bien compris, il faut que je fasse mon ShowDialog, voir même un Show dans mon thread principal...
Pas cool...


ZeBobo5


Cette discussion est classée dans : application, thread, m1, f2, f1


Répondre à ce message

Sujets en rapport avec ce message

[C# 2.0] Problemes de thread [ par MorpionMx ] Bonjour a tous. Je suis en train de faire une classe qui fourni une connexion a une base de données pour mon application, et qui lui permet aussi de Focus d'une form? [ par Bidou ] Bonjour,Petite question :J'ai deux forms, disons f1 et f2. J'ouvre f2 depuis f1 en faisant un ShowDialog().Ma form f2 possède une référence de f1, ce Gif + Thread [ par emmanuel9 ] Bonjour à tous, J'ai une application qui possède un bouton exporter et les traitement effectué lors de l'appui sur ce bouton gele l'appli pendant un t pb: ou placer un thread???? [ par othland ] slt tlm;c'est la première fois que je travaille avec des thread sous visual C#.j'ai un programme qui gère plusieurs fenêtres...etc.je veux qu'en paral Global variables [ par lefty06 ] bonjour, ma question en suprendra peut etre plus d'un car elle paraitra peut etre idiote.Mon probleme consiste en une application windows, ma solution Un ignare doit faire un thread... [ par vanpetitprince ] Bonjour a tous, Je suis en stage et je dois faire une application en windows mobile ce 5.0 en C#. Comme le titre l'indique si bien je ne connais abso MultiThread & Fonction bloquante [ par ouaipdu53 ] Bonjour , Dans le cadre de la réalisation d'un logiciel de supervision, je dois crée une application multi-clients. Pour gérer cela, chaque client pos Thread + textbox [ par drcmomo ] Bonjour tout le monde,j'aimerais pourvoir afficher des données dans 1 textbox en utilisant un Thread, quand je lance mon application il m'affiche le m kill thread [ par kulinicm ] bonjour,je n'arrive pas a tuer mon thread,je fait bien a la fin de mon appli: this.Close();this.MonThread.Abort();App Thread Viewer [ par gama71 ] Bonjour, je voudrais savoir si quelquun connais un outils qui me permettrait de visualiser les threads qui torune en mémoire.J'ai une application qui


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales