Obiekty formatki głównej sterowane z metod klas

0

Jak to zrobić? Mam na formatce kilkanaście obiektów wizualnych i jak można nimi sterować metodami klas zdefiniowanymi w programie?
Na razie, przy próbie bezpośredniego odwołania do tych obiektów z wnętrza metody, metoda nie widzi tych obiektów.
Ustawiłem wszystko na public, ale bez powodzenia.
Bardzo będę wdzięczny za pomoc, moja wiedza na temat C# jest bardzo elementarna, co chyba widać.
Pozdrawiam, Jan

1

Pokaz kod

0

public partial class Form1 : Form
{
PictureBox pictureBox11 = new PictureBox(); Bitmap image11;

public class PlanszaGry
{

    //metoda klasy
    public PlanszaGry(int x0, int y0, int pole0)
    {
        pictureBox11.Visible = false;

       // i tu ‘pictureBox11’ jest podkreślony czerwoną kreską
1

@JanF:

Z taką jakością pokazania kodu nie oczekuj daleko idącej pomocy pomocy.
Widzę, ze to są oddzielne klasy, i stad masz problem.

  1. Sugeruję podręcznik i poczytać o zakresach dostępu.
  2. grzebanie w bebechach innej klas zwykle wskazuje na zły projekt.
1

Przede wszystkim Twój pictureBox11 jest prywatny. Dlatego nie jest widoczny z innej klasy. Poza tym, najdalej za miesiąc nie będziesz wiedział, czym jest pictureBox11, a czym 12 (chyba, że są ułożone w grida, jeśli nie - nazywaj rzeczy normalnie).

Poza tym, sterowanie elementami GUI z innej klasy to bardzo złe rozwiązanie. Elementy GUI powinny być dostępne jedynie dla klasy formatki. To formatka powinna sterować elementami GUI za pomocą publicznych metod - najlepiej z jakiegoś interfejsu, np:

public interface IBoard
{
    void ClearBoard();
}

Dalej Twoja forma ma implementować ten interfejs:

public partial class Form1: Form, IBoard
{
    public void ClearBoard()
    {
        pictureBox11.Visible = false;
    }
}

No i na koniec klasa PlanszaGry używa tego interfejsu:

public class PlanszaGry
{
    IBoard board;

    public PlanszaGry(IBoard board)
    {
        this.board = board;
        this.board.ClearBoard();
    }
}
0

@Stój Halina:
Dziękuję. Tak, to są oddzielne klasy, chociaż w jednym projekcie i w trybie 'public'. Jaki podręcznik byś poleciła?

0

Dziękuję za pomoc @Juhas. Pozdrawiam, Jan

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