Witam!
Moje doświadczenie z C# nie jest duże, jednak znam programowanie obiektowe, pisałem również w innych językach.
Mój problem jest taki:
Chcę napisać grę (dopiero zaczynam), stworzyłem więc klasę Field (ChinskieWarcaby.Field), później do niej dodam funkcje odpowiednie za przemieszczanie pionka itp. na razie wygląda tak:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ChinskieWarcaby
{
    class Field : PictureBox
    {
        System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
        protected int id = 0;
        protected int color_id = 9;
        // Colors id:
        // 0 - blank
        // 1 - white
        // 2 - yellow
        // 3 - green
        // 4 - blach
        // 5 - blue
        // 6 - red
        // 9 - blank_no_moveable
        protected int posx = 0;
        protected int posy = 0;

        public void setID(int id)
        {
            if (this.id == 0)
            {
                this.id = id;
            }
        }

        protected bool setPos(int posx, int posy)
        {
            if (canMove(posx, posy))
            {
                this.posx = posx;
                this.posy = posy;
                return true;
            }
            else
            {
                return false;
            }
        }

        private bool canMove(int posx, int posy)
        {
            if (this.color_id == 0)
            {
                return false;
            }
            else
            {
                return false;
            }
        }

    }
}

na razie jest ona taka, jeszcze nie korzystam z żadnych funkcji jej, jednak mam przyzwyczajenie, że jak zrobię coś, czego wyniki powinny być widoczne, to sprawdzam czy działa. Napisałem więc funkcję, która powinna narysować pole 13x15 kratek (jedna kratka to obrazek 16x16), wygląda ona tak:

private ChinskieWarcaby.Field[,] tablica = new ChinskieWarcaby.Field[15,15];
        
        private void DrawTable()
        {
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
            /*int areasDone = 0;
            bool half = false;
            int currentID = 1;
            int currentAreaDone = 0;
            int currentArea = 0;*/
            int id = 1;
            int cols = 0;
            int rows = 0;

            string test = "LOG"; //TEST

            while (true)
            {
                int posx = cols * 16; int posy = rows * 16;
                this.tablica[cols, rows] = new ChinskieWarcaby.Field();
                this.panel1.Controls.Add(this.tablica[cols, rows]);
               
                this.tablica[cols, rows].Image = global::ChinskieWarcaby.Properties.Resources._9;
                

                this.tablica[cols, rows].Visible = true;

                this.tablica[cols, rows].InitialImage = null;
                //test = test + "\n TEST (1): " + posx + ", " + posy;
                this.tablica[cols, rows].Location = new System.Drawing.Point((posx), (posy));
                this.tablica[cols, rows].Name = "Field_" + id; id++;
                this.tablica[cols, rows].TabIndex = 2;
                this.tablica[cols, rows].TabStop = false;

                test = test + "\nItem name: " + this.tablica[cols, rows].Name + ", col: " + cols + " (" + posx + "), row: " + rows + " (" + posy + ") , loc: " + this.tablica[cols, rows].Location.X + ", " + this.tablica[cols, rows].Location.Y + ", visible: " + this.tablica[cols, rows].Visible + ", enabled: " + this.tablica[cols, rows].Enabled; //TEST

                cols++;
                if (cols >= 9)
                {
                    rows++;
                    cols = 0;
                }
                if (rows >= 15)
                {
                    break;
                }
            }

            this.richTextBox1.Text = test; //TEST

        }

Jednak nie chciało działać i dodałem linijki, które są pokazywały mi w richTextBox1 informacje na temat każdego obiektu Field w tablicy tablica. Wygląda na to, że wsyzstko jest poprawnie i tu moje zaskoczenie - pokazuje się jedynie 1 obrazek spośród tych, które powinny.
I moje pytanie - co zrobiłem źle? Czemu to nie działa?</image>