Sprawdzić zwartość obrazka buttona w WinForms

0

Chcę sprawdzić czy w polu Image konkretnego buttona znajduje się konkretny obrazek z Resources

Na początku chciałem tak:

if (button1.Image == Properties.Resources.x)
{
     MessageBox.Show("Winner!");
}

Potem tak:

if (button1.Image.Equals(Properties.Resources.x))
{
     MessageBox.Show("Winner!");
}

Obie metody nie działają. Ale takie przypisanie działa:

button1.Image = Properties.Resources.x;

Jakieś wskazówki, żeby to działało?

0

Nie lepiej dane o zwycięzcy przechowywać w zmiennej? Sprawdź sobie takie rozwiązanie (nie jestem pewny czy zadziała):

if (button1.Image.Name.Equals(Properties.Resources.x.Name))
{
  // twój kod
}
0

Dlaczego chcesz to robić? Cokolwiek ten obrazek ma oznaczać, przechowuj to osobno, a nie w obrazku.

0

Dzięki za rady, zrobię jak mówicie.
Ale dlaczego coś takiego jest złe, czemu lepiej trzymać w osobnych zmiennych?

To kółko i krzyżyk. Wydawało mi się, że tak będzie najprościej sprawdzić kiedy gra się skończyła/kto wygrał.

1

Dlatego, że w każdym programie "warstwa prezentacji" (czyli interfejs użytkownika) powinna być oddzielona od "warstwy biznesowej" (wewnętrznej logiki programu) tak, że można wymienić jedno bez modyfikacji drugiego.

U ciebie pomieszana jest logika biznesowa (kółka i krzyżyki) ze sposobem jej prezentacji (Image).

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