Pobranie zmiennej i wczytanie do pictureboxa w drugiej formie.

0

Problem podobny jak tutaj Zapisanie danych i przekazanie z Form1 do Form2
tylko z pictureboxami. Każdemu wpisanemu graczowi przyporządkowuje pionek w grze, musze po kolei każdy zapisac do zmiennych aby je odtworzyć w pictureboxach (obok nazwy każdego gracza ma stać wybrany pionek) na form2, mam coś takiego, lecz nie działa:

Są 4 pionki dla 4 graczy do wyboru więc pionka próbuje pobrać w ten sposób

    public partial class FormWstepniak : Form
    {
       .........
       public Bitmap ImageGracz1 {get; set;}
       ...
       ...
       ...
      }

W evencie _Click:

 
((System.Windows.Forms.PictureBox)sender).Image = ImageGracz1;  
  

I odtworzenie tego na formie2:

pictureBoxGracz1.Image = formWstepniak.ImageGracz1;
0
  1. Co nie działa konkretnie? Błąd kompilacji, błąd w trakcie uruchomienia czy błędne wyniki?
  2. Gdzie i jak tworzysz formWstepniak?
  3. Pisałeś w poprzednim wątku, że chcesz pisać w MVC. W ogóle tego nie widać :P
1
Sarrus napisał(a):
  1. Co nie działa konkretnie? Błąd kompilacji, błąd w trakcie uruchomienia czy błędne wyniki?
  2. Gdzie i jak tworzysz formWstepniak?
  3. Pisałeś w poprzednim wątku, że chcesz pisać w MVC. W ogóle tego nie widać :P
  1. Wszystko się kompiluje, tylko nic się nie dzieje (tzn. zmienna nie jest zapisywana do " ImageGracz1" , tak jakby tutaj był błąd:
((System.Windows.Forms.PictureBox)sender).Image = ImageGracz1;

2,3. Wrzucam wycinki kodu i sprawdzam najprostszym sposobem czy w ogóle ta metoda działa. FormWstepniak to forma z której przekazuję dane do Form1

public partial class Form1 : Form
    {
        FormWstepniak formWstepniak;
        private readonly Kostka _kostka;

        public Form1(FormWstepniak formWstepniak)
        {
            this.formWstepniak = formWstepniak;
            InitializeComponent();
            
            groupBoxPlayer1.Text = formWstepniak.Gracz1;
            groupBoxPlayer2.Text = formWstepniak.Gracz2;
            groupBoxPlayer3.Text = formWstepniak.Gracz3;
            groupBoxPlayer4.Text = formWstepniak.Gracz4;
            pictureBoxGracz1.Image = formWstepniak.ImageGracz1; //???????????

}
0
Sebastiano napisał(a):
  1. Wszystko się kompiluje, tylko nic się nie dzieje (tzn. zmienna nie jest zapisywana do " ImageGracz1" , tak jakby tutaj był błąd:
((System.Windows.Forms.PictureBox)sender).Image = ImageGracz1;

A nie chciałeś przypadkiem tak:

ImageGracz1 = ((System.Windows.Forms.PictureBox)sender).Image;

?

0
Sarrus napisał(a):
Sebastiano napisał(a):
  1. Wszystko się kompiluje, tylko nic się nie dzieje (tzn. zmienna nie jest zapisywana do " ImageGracz1" , tak jakby tutaj był błąd:
((System.Windows.Forms.PictureBox)sender).Image = ImageGracz1;

A nie chciałeś przypadkiem tak:

ImageGracz1 = ((System.Windows.Forms.PictureBox)sender).Image;

?

Wtedy mam błąd:
Cannot implicitly convert type 'System.Drawing.Image' to 'System.Drawing.Bitmap'. An explicit conversion exists (are you missing a cast?)

?

1

No to czemu nie przeczytasz tego błędu skoro Ci wyskoczył?

0
sainser napisał(a):

No to czemu nie przeczytasz tego błędu skoro Ci wyskoczył?

Problem rozwiązany
było:

public Bitmap ImageGracz1 {get; set;}

a powinno być:

public Image ImageGracz1 {get; set;}

Dzięki za pomoc!

1 użytkowników online, w tym zalogowanych: 0, gości: 1