-6

Нужно сделать несколько объектов в массиве.
Например, если нажму на кнопку на полигоне, чтобы появилось 10 объектов.

Пытался сделать так, но не работает:

int[] impactObj = new int[10];

private void button1_Click(object sender, EventArgs e)
{
    int f = 0;
    PictureBox[] obj = new PictureBox[impactObj](); 
    for (int i = 0; i < impactObj.Count(); i++)
    {
        obj.Location = new Point(19, 69);
        f++;
    }
}
Regent
  • 19,134
jcmax
  • 671
  • что именно не работает? –  Oct 12 '15 at 15:31
  • Ну, для начала это банально не компилируется - посмотрите на эту замечательную инициализацию массива obj, а также на просто превосходные попытки положить туда объекты совершенно левого класса. @jcmax, вы пробовали почитать какие-нибудь учебники, прежде чем начинать писать программы? – fori1ton Oct 12 '15 at 15:35
  • это я пример привел. Я незнаю как объявить pictureBox в массиве, чтобы им потом дать разные точки Point впределах полегона – jcmax Oct 12 '15 at 15:49
  • То есть, не читали. Вот вам список литературы, почитайте хотя бы первую книгу. Настолько грубые ошибки при работе с массивами наталкивают на мысль, что вам пока рановато заниматься визуальным программированием и стоит заполнить пробелы в фундаментальных понятиях. – fori1ton Oct 12 '15 at 16:16
  • у меня здесь синтаксические ошибки сделаны специально, чтобы мне объяснили как правильно определить массив визуальных объектов, а не тыкали в ошибки синтаксиса, я когдо копировал я видел, что VS ругается на PictureBox. Да вообщем я нашел в проектах у себя решение ==> Label[] mySt = new Label[n]; //Массив стикеров, И ему по mySt работаем . Так трудно было правильно ответить? – jcmax Oct 12 '15 at 16:34

1 Answers1

2

интересно, а кто мешал написать правильно?

private void button1_Click(object sender, EventArgs e)
{
    var obj = new PictureBox[10]; 
    for(int i=0;i<obj.Length;i++)
    {
        obj[i] = new PictureBox();
        obj[i].Location = new Point(19, 69);
    }
}

это если перефразировать ваш код

а можно использовать например гинерики

private void button1_Click(object sender, EventArgs e)
{
    var obj = new List<PictureBox>(); 
    for(int i=0;i<10;i++)
    {
        obj.Add(new PictureBox(){Location = new Point(19,69)});
    }
    // Нужен массив? пожалуйста:
    var arr = obj.ToArray();
}
Dmitry
  • 2,508