Ссылка на объект не указывает на экземпляр объекта - 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); //... }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д