Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/92: Рейтинг темы: голосов - 92, средняя оценка - 4.58
22 / 22 / 2
Регистрация: 08.03.2011
Сообщений: 114
1

Рисование эллипса

02.12.2011, 18:21. Показов 19051. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Когда я рисую новый эллипс - старый исчезает.
Это происходит из-за команды pictureBox1.Refresh(). Но если эту строчку убрать, то пропадает анимация рисования, т.е. эллипс как бы не рисуется, а просто появляется на форме.
Как сделать, чтоб и была анимация рисования, и старый эллипс оставался нарисованным, когда рисую новый ?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int x;
        int y;
        int w;
        int h;
        Pen MyPen = new Pen(Color.Black, 1);
        public Form1()
        {
            InitializeComponent();
        }
 
        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                if (x == 0 || y == 0)
                {
                    x = e.X;
                    y = e.Y;
                }
                else
                {
                    w = e.X - x;
                    h = e.Y - y;
                }
                pictureBox1.Refresh(); // Вот из-за этой строчки новый эллипс исчезает, 
            }                                 // Но если эту строчку убрать, то пропадает анимация рисования
        }
 
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.DrawEllipse(MyPen, x, y, w, h);
            e.Graphics.Save();
        }
 
        private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            Graphics g = pictureBox1.CreateGraphics();
            g.DrawEllipse(MyPen, x, y, w, h);
            g.Save();
            x = 0;
            y = 0;
            w = 0;
            h = 0;
        }
    }
}
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2011, 18:21
Ответы с готовыми решениями:

Пол эллипса
Как нарисовать пол эллипса? Добавлено через 1 час 22 минуты апп

Построение Эллипса
Построить Эллипс в среде программирования C# с эксцентриситетом 3.14 и что бы фокус эллипса...

Вывод эллипса на форму
Глупый вопрос, но всё же.. Объясните, пожалуйста, почему при наборе такого же кода, как на этом...

Реализовать движение эллипса по кругу
Имею таймер на форме. Каким образом мне сделать движение и рисование эллипса по кругу c центром с...

1
c#
95 / 95 / 27
Регистрация: 25.03.2011
Сообщений: 290
02.12.2011, 18:36 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.DrawEllipse(MyPen, x, y, w, h);
            e.Graphics.Save();
            for (int i = 0; i < rect.Count; i++)
            {
                e.Graphics.DrawEllipse(MyPen, rect[i]);
            }
        }
 
        List<Rectangle> rect = new List<Rectangle>();
        private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            Graphics g = pictureBox1.CreateGraphics();
            g.DrawEllipse(MyPen, x, y, w, h);
            g.Save();
            rect.Add(new Rectangle(x,y,w,h));
            x = 0;
            y = 0;
            w = 0;
            h = 0;
        }
3
02.12.2011, 18:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2011, 18:36
Помогаю со студенческими работами здесь

Нарисовать прямоугольник внутри эллипса
Нарисован эллипс. Нужно внутри него разместить прямоугольник. Каким образом это можно сделать?...

Выбор цвета эллипса через RadioButton-ы
Здравствуйте, мне нужно нарисовать эллипс и менять его цвет посредством выбора нужного...

Диалоговое окно выбора цвета эллипса
Необходима помощь. Мне нужно создать диалоговое окно выбора цвета эллипса, в котором при выборе...

Переписать метод для рисования эллипса
Изначально мои поля были public После переписала как protect: protected Pen Pen; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru