Ссылка на объект не указывает на экземпляр объекта - C# (180032)

Узнай цену своей работы

Формулировка задачи:

Добрый день! Столкнулся с ошибкой "Ссылка на объект не указывает на экземпляр объекта". Почитал на форумах, нашел множество ответов, но не понял принципа борьбы с ней.
        private void nameBtn1_Click(object sender, EventArgs e)
        {
            //считывание таблицы эксель
            string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            path = Path.Combine(path, "Касса.xlsx");
            Excel.Application ObjExcel = new Excel.Application();
            Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(path, true, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            Excel.Worksheet ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];
            lastRow = ObjWorkSheet.Cells[ObjWorkSheet.Rows.Count, "A"].End[Excel.XlDirection.xlUp].Row;
            string[,] exlData = new string[lastRow, 2];                                     //1 - наименования товара, 2 - тип товара
            for (int i = 1; i + 2 < lastRow; i++)                                           //считывание. проверить это еще раз!
            {
                for (int j = 1; j < 2; j++)
                {
                    exlData[i, j] = ObjWorkSheet.Cells[i + 2, j + 1].Text.ToString(); 
                }
            }

            Button[,] prodBtn = new Button[count[0]/5+1,5];                                 //генерация кнопок
            for (int i = 0; i < count[0]/5+1; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    prodBtn[i, j].Size = new Size(180,75);
                    prodBtn[i, j].Location = new Point(i * 180 + 10, j * 75 + 100);
                    prodBtn[i, j].Visible = true;
                    prodBtn[i, j].MouseClick += new MouseEventHandler(prod_Click);
                    prodBtn[i, j].Text = exlData[i*5+j, 0];                                 
                }
            }

        }
Ошибка возникает после на строке
                    prodBtn[i, j].Size = new Size(180,75);
Помогите решить, пожалуйста.

Решение задачи: «Ссылка на объект не указывает на экземпляр объекта»

textual
Листинг программы
for (int j = 0; j < 4; j++)
{
   prodBtn[i, j] = new Button(); //инициализируем prodBtn[i, j]
   prodBtn[i, j].Size = new Size(180,75);
   //...                                
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы