Код - private void Pressed_Simple(object sender, EventArgs e) { foreach (Control control in flowLayoutPanel1.Controls[0].Controls) control.BackColor = Color.FromArgb(45, 45, 45); } Код private void Pressed_Simple(object sender, EventArgs e) { foreach (Control control in flowLayoutPanel1.Controls[0].Controls) control.BackColor = Color.FromArgb(45, 45, 45); } В другой части кода - time.Click += new EventHandler(Loader.Pressed_Simple); Код time.Click += new EventHandler(Loader.Pressed_Simple); Когда я кликаю по кнопке time, (catch e - MessageBox.Show(e); в Pressed_Simple) Мне выводит это - Где я ошибся? flowLayoutPanel не пуст flowLayoutPanel1.Controls.AddRange(GetProcessList.GetPL(Process.GetProcessesByName(textBox1.Text).ToList()).ToArray()); Код flowLayoutPanel1.Controls.AddRange(GetProcessList.GetPL(Process.GetProcessesByName(textBox1.Text).ToList()).ToArray());
foreach (Control control in flowLayoutPanel1.Controls) не так? ты добавляешь в панель элементы типа process (или че там у тебя) и пытаешься обратиться к первому из них как к ui контролу а вообще если ты говоришь что элементы есть, а прога говорит что нету, я снова возьмусь проповедовать юзать отладчик, а следовательно поставить точку останова на foreach, нажать F5 и убедиться есть ли там Controls или нету
Yotic, для начала чтобы "Точки остановы" работали, в (настройках -> Отладка -> Символы.) выбери Nuget загрузчик. Если компилиш в "Release" переходи на "Debug" для отладки, так же обнови NetFramework, перестрой проект.. В коде: foreach (Control control in flowLayoutPanel1.Controls) Код foreach (Control control in flowLayoutPanel1.Controls) в control смотри какие элементы доступны по индексу.
r3xq1, flowLayoutPanel1 пуст, я писал такую строку Debug.WriteLine(flowLayoutPanel1.Controls.Count); Выводило 0, хотя она показывала в то же время около 10 элементов ( Panel )
r3xq1, Cпасибо, хоть и с багами(Во-время компила пишет что брэйкпоинт недоступен) брейкпоинты началм работать