예제 #1
0
 public void Add(CCircle obj)   //добавление объекта
 {
     totalElements++;           // увеличиваем общее количество элементво
     if (totalElements == size) // если количество элементов равно размеру, увеличиваем
     {
         ExpandarrElements();
     }
     array[totalElements - 1] = obj; // добавляем объект в массив
 }
예제 #2
0
        private void pictureBox_MouseDown(object sender, MouseEventArgs e) //нажатие мышки на pictureBox
        {
            if (e.Button == MouseButtons.Left)
            {
                int a = 0;
                for (int i = 0; i < Circle.GetTotalElements(); i++)
                {
                    if (Circle.GetNow().Border(e.X, e.Y) == true) //если попали в круг
                    {
                        if (!ModifierKeys.HasFlag(Keys.Control))  //если нажат ctrl
                        {
                            Circle.GetNow().SelectChange();       //меняем выделение с true на false
                        }
                        a++;
                    }
                    Circle.GetNext();     //сдвигаем указатель на следующий
                }
                Circle.Get0();

                if (a == 0)                              //если не попали в круг
                {
                    CCircle Lap = new CCircle(e.X, e.Y); //создаем новый круг по полученным координатам
                    Circle.Add(Lap);                     // добавляем круг в хранилище

                    for (int i = 0; i < (Circle.GetTotalElements() - 1); i++)
                    {
                        Circle.GetNext();
                    }
                    Circle.GetNow().SelectChange2();     //делаем созданный объект единственно выделенным

                    for (int i = Circle.GetTotalElements() - 1; i >= 0; i--)
                    {
                        if (Circle.GetNow().Getselect1() == true)
                        {
                            Circle.GetNow().SelectChange();
                        }
                        Circle.GetPrevious();
                    }
                    Circle.Get0();

                    for (int i = 0; i < (Circle.GetTotalElements() - 1); i++)
                    {
                        Circle.GetNext();
                    }
                    Circle.GetNow().SelectChange2();
                    Circle.Get0();
                }
                pictureBox.Refresh();
            }
        }