Member 14596963 Ответов: 1

Задача в C# windows forms на picturebox


Нарисуйте два круга с помощью мыши на picturebox. При опускании мыши устанавливается центр окружности, а при отпускании-ее радиус. Координаты центра окружностей и их радиусы отображаются на форме (в декартовом CS).
Определите взаимное расположение окружностей (совпадают, пересекаются, соприкасаются или не имеют общих точек).
Создайте возможность перемещать круги с помощью мыши.

Что я уже пробовал:

void Circle(Graphics g)
        {
            for (int i = 0; i < Pnt.Count; i += 2)
            {
                int dx = Pnt[i].X - Pnt[i + 1].X;
                int dy = Pnt[i].Y - Pnt[i + 1].Y;
                int r = (int)Math.Sqrt(dx * dx + dy * dy);
                g.DrawEllipse(Pens.Black, Pnt[i].X - r, Pnt[i].Y - r, 2 * r, 2 * r);
            }
        }

Patrice T

А у вас есть вопрос ?

1 Ответов

Рейтинг:
0

OriginalGriff

Мы более чем готовы помочь тем, кто застрял, но это не значит, что мы здесь, чтобы сделать все это для вас! Мы не можем сделать всю работу, вам либо платят за это, либо это часть ваших оценок, и было бы совсем несправедливо, если бы мы сделали все это за вас.

Поэтому нам нужно, чтобы вы сделали работу, и мы поможем вам, когда вы застряли. Это не значит, что мы дадим вам пошаговое решение, которое вы можете сдать!
Начните с объяснения, где вы находитесь в данный момент и каков следующий шаг в этом процессе. Затем расскажите нам, что вы пытались сделать, чтобы этот следующий шаг сработал, и что произошло, когда вы это сделали.

И первое, что вы должны сделать, это прочитать вопрос еще раз, внимательно. Код, который у вас есть ... гм ... очень плохо: даже тот единственный метод, который вы показываете, - это не Упс.

Вместо этого создайте класс a Circle, который содержит центр и радиус, и начните с поиска способа заставить мышь создать экземпляр (подсказка: посмотрите на события MouseDown и MouseUp для вашей формы или панели).
Затем добавьте код в обработчик событий Paint, чтобы нарисовать их - чтобы вызвать перерисовку, сделать недействительной форму / панель.

С этого момента все остальное начинает довольно легко вставать на свои места.