Dynami c Сетка на основе количества узлов - PullRequest
0 голосов
/ 26 февраля 2020

Пусть количество узлов будет входным

Я хотел создать динамическую c сетку с динамическими c строками и столбцами, так как я не хочу устанавливать, сколько столбцов или строк будет потому что число узлов не указано. Даже если простое число введено, оно все равно должно работать, пока число превышающих узлов меньше равного числа столбцов

   x x x
   x x x
   x 

Вот мой код, он довольно ужасен, так как я грубо заставил мой путь к центру (centPosX и centPosY) вне расположения сетки. Я пробовал ширину и высоту / 2, но он все еще выключен. Я был бы хорош, если бы я мог просто центрировать саму сетку на форме. Единственный вход, необходимый здесь, - это количество узлов, и алгоритм может сам разобраться.

        PictureBox[] picBox;
        DataTable tbl = CameraConnections.GetCameraGridView();

        int camCount = tbl.Rows.Count;
        int formSizeY = this.ClientSize.Height;
        int formSizeX = this.ClientSize.Width;
        int unitSize = 80;
        int rows = 5;
        int cols = 5;
        int picID = 0;
        int centPosX = 220;
        int centPosY = 100;
        for (int row = 0; row < rows; row++)
        {
            for (int col = 0; col < cols; col++)
            {
                int posX = col * unitSize + centPosX;
                int posY = row * unitSize + centPosY;

                var picbox = new PictureBox();
                picbox.Tag = "picID_" + picID;
                picbox.Image = Image.FromFile(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName + "\\images\\cctv.png");
                picbox.SizeMode = PictureBoxSizeMode.StretchImage;
                picbox.BackColor = Color.Transparent;
                picbox.Size = new Size(50, 50);
                picbox.Location = new Point(posX, posY);
                tabPage2.Controls.Add(picbox);
                picID++;
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...