//Функция отрисовки окружности на панели private void DrawingCircles(ref myStorage storage, int CountElem) { //Если ячейка хранилища не пуста, то.. if (storage.objects[CountElem] != null) { //создаем ручку, отрисовываем окружность с указанными параметрами Pen pen = new Pen(storage.objects[CountElem].color, 3); Circle_Panel.CreateGraphics().DrawEllipse(pen, storage.objects[CountElem].x, storage.objects[CountElem].y, storage.objects[CountElem].R * 2, storage.objects[CountElem].R * 2); } }
//Обработчик события Click кнопки "Очистить панель". private void Clear_button_Click(object sender, EventArgs e) { Circle_Panel.Refresh(); //перерисовка for (int i = 0; i < amtCells; ++i) { if (!storage.Empty(i)) { storage.objects[i].Is_Drawn = false; storage.objects[i].color = DefaultColor; } } }
//Обработчик события Click кнопки "Показать объекты хранилища" private void ShowCircle_button_Click(object sender, EventArgs e) { //Сначала очищается панель Circle_Panel.Refresh(); //Если хранилище не пустое, то.. if (storage.OccupiedCells(amtCells) != 0) { for (int i = 0; i < amtCells; ++i) { DrawingCircles(ref storage, i); //рисуется окружность, if (!storage.Empty(i)) { storage.objects[i].Is_Drawn = true; //устанавливается флаг(объект отрисован) } } } }