[C# et Form] Utiliser les "control.value" d'un form dans une autre classe
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:
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:
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 :lol:
Merci d'avance pour votre aide
(J'utilise VS 2005)