Я попытался добавить массив PictureBox в элементы управления, но добавляется только один pictureBox.Добавление массива PictureBox в элементы управления
Label[] l = new Label[15];
PictureBox[] pic1 = new PictureBox[15];
int y_value = 47;
for (int i = 0; i < 6; ++i)
{
l[i] = new Label();
l[i].Text = "Test Text";
l[i].Font = new System.Drawing.Font("Calibri", 8, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
l[i].ForeColor = System.Drawing.Color.White;
l[i].BackColor = System.Drawing.Color.FromArgb(1, 0, 64);
l[i].Size = new System.Drawing.Size(145, 20);
l[i].Location = new Point(30, y_value);
l[i].Anchor = AnchorStyles.Left;
l[i].Visible = true;
//this.Controls.Add(l[i]);
pic1[i] = new PictureBox();
pic1[i].Image = Image.FromFile(STR_SETTING_PATH + "\\" + STR_IDEA_NO_XXXXX + "_01_nv.png");
pic1[i].Size = new System.Drawing.Size(400, 332);
pic1[i].Location = new Point(2, y_value - 10);
pic1[i].Anchor = AnchorStyles.Left;
pic1[i].Visible = true;
//this.Controls.Add(pic1[i]);
y_value += 37;
}
this.Controls.AddRange(l);
this.Controls.AddRange(pic1);
Когда я это делаю, эти метки отображаются правильно, но появляется только один PictureBox. Я попытался изменить позиции X, Y, но это не помогло. Отладчик отображает списки массива PictureBox, инициализированные. Есть ли что-то, что я делаю неправильно или что лучше подходит для добавления PictureBox с ярлыком над ним динамически.
вы увеличиваете y_value +37 высота ваш pictureBox равен 332. Поэтому они могут перекрываться. – stefankmitph
Да ... Была моя ошибка ... Глупый я ... – sk3145
они _до_ перекрываются. – stefankmitph