Bonjour à tous,

Le titre est pas super explicite mais voilà je rencontre des difficultés pour récupérer dans une classe des valeurs de controls contenu dans un windows Form.

Je m'explique par un exemple :
J'ai un Windows Form Form.cs qui contient une PictureBox dans laquelle je souhaite afficher des images.
Donc pour le moment, j'ai mis l'ensemble de mon code dans Form.cs avec notamment ces méthodes :

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
28
29
30
31
 
    private void BtnViewer_Click ( object sender, EventArgs e )
    {
      GetBitmap ();
    }
 
    private void GetBitmap ()
    {
      string PathFolder = @"E:\Temp";
      if ( Directory.GetFiles ( PathFolder ).Length > 1 )
      {
        string[] RawImg = null;
        RawImg = Directory.GetFiles ( PathFolder, "*.png" );
        FolderFile = new string[RawImg.Length];
        Array.Copy ( RawImg, 0, FolderFile, 0, RawImg.Length );
 
        int Selected = 0;
        int Begin = 0;
        int End = FolderFile.Length;
 
        ShowImage ( FolderFile[Selected] );
      }
    }
 
private void ShowImage ( string Path )
    {
      Image ImgTemp = Image.FromFile ( Path );
      this.PictureBoxWorkArea.Width = ImgTemp.Width;
      this.PictureBoxWorkArea.Height = ImgTemp.Height;
      this.PictureBoxWorkArea.Image = ImgTemp;
    }
J'ai également utilisé des méthodes pour visualiser les images suivantes ou précédentes.
Jusque là tout fonctionne très bien.

Maintenant, pour alléger le Form.cs j'aimerai créer une nouvelle classe, Pictures.cs, pour y ajouter les méthodes GetBitmap et ShowImage pour ensuite y faire appel dans le Form.cs avec quelquechose comme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
    private void BtnViewer_Click ( object sender, EventArgs e )
    {
      Pictures.GetBitmap ();
    }
Mon problème c'est que je n'arrive pas à récupérer dans Pictures.cs les PictureBoxWorkArea.Width et autres qui sont issus du Form.cs et que j'utilise dans la méthode ShowImage().

En espérant que mon explication ne soit pas trop foireuse, pourriez-vous me donner quelques pistes car là je ne vois pas du tout comment faire
J'ai regardé du côté des constructeurs et même du côté des threads mais je suis bien larguée et je ne voudrais pas partir dans une impasse

Merci d'avance pour votre aide
(J'utilise VS 2005)