Bonjour,
Voici l'erreur que j'ai :
"Le thread actuel doit être en mode STA (Single Thread Apartment) avant que des appels OLE puissent être effectués. Assurez-vous que votre fonction Main est marquée comme STAThreadAttribute".
Voici le contenu de program.cs
Dans une partie de mon application (de messagerie instantannée) je crée un nouveau Thread et j'ouvre une Form Message dedans de cette façon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Authentification()); }
Et dans cette fenêtre Message j'ai un bouton pour envoyé un fichier qui est censé ouvrir un openfiledialog
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 //Thread pour l'ouverture de la fenetre message Thread monthread; MyThread mythread; //ouverture de la fenêtre message dans un nouveau thread message = new Message(this); mythread = new MyThread(message); monthread = new Thread(new ThreadStart(mythread.run)); monthread.Start();
Et c'est à ce moment là que j'ai l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if (openFileDialog1.ShowDialog(this) == DialogResult.OK) { // Fichier sélectionné chemin = openFileDialog1.FileName.ToString(); }
Alors c'est vrai que j'ai bien le
avant le Main mais le main n'ouvre pas directement ma form message donc peut être qu'il faut le lui dire autrement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [STAThread]
J'espère avoir été clair en tout cas n'hésitez pas pour de plus ample informations.
Merçi
Partager