Bonjour à tous.

Je fait des essaie actuellement sur le passage d'information entre thread et notamment la modification de propriété d'objet.

J'ai trouver excellent tuto mais j'ai un souci.

En faite avec les tuto trouvé, j'arrive sans souci, à partir du thead principal, à modifier un label d'un autre thread.

Mais en utilisant la même méthode, impossible de rajouter la modification d'un groupebox.

Par exemple,dans mon thread principal (une IHM) j'ai déclarée.

Avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
    public partial class GestionReleve : Form
    {
 
        private delegate void PresenceSGBD(bool SGBD);
        private static IHMreleve.IMHReleve IHMForm;
 
 
        public GestionReleve()
        {
            InitializeComponent();
            IHMForm = new IHMreleve.IMHReleve();
            Thread IHM = new Thread(new ThreadStart(IHMStart));
            //Obligatoire pour utilisé les boites de dialogue tel que OpenFile dans un autre thread
            IHM.SetApartmentState(ApartmentState.STA);
            //Demarrage du thread IHM
            IHM.Start();
 
       // Pour les test cross-thread
            Thread.Sleep(5000);
            this.Invoke(new PresenceSGBD(IHMForm.SetPresenceSGBD), true); 
        }
 
       private static void IHMStart()
        {
            IHMForm.ShowDialog();
        }
Dans la partie du thread secondaire (une autre FORM)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
        public void SetPresenceSGBD(bool SGBD)
        {
 
                if (SGBD)
                {
                    lB_InfoVersSGBD.Text = "SGBD OK";
                    //gB_FichierSGBD.Visible = true;
                }
                else
                   lB_InfoVersSGBD.Text = 'SGBD NOK";
        }
Voila, donc la partie label de lB_InfoVersSGBD se modifie bien.
mais si je met
Code : Sélectionner tout - Visualiser dans une fenêtre à part
gB_FichierSGBD.Visible = true;
il me plante au moment ou il arrive dessus. D'ailleurs le commentaire d'erreur apparait pas à cet endroit, mais sur "IHMForm.ShowDialog();" du thread principal.

Une idée pour m'aider?