Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
StanlyRainbow
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 30
#1

переделать с рисования линии на рисование прямоугольника C#

09.02.2014, 21:47. Просмотров 359. Ответов 0
Метки нет (Все метки)

Ребята, есть код рисования линий просто на рабочем столе.. мне надо чтобы вместо линий прямоугольник рисовался. тоесть просто кликнул потянул мышкой как в пейнте ,отпустил и нарисовался прямоугольник.

подскажите как это в коде реализовать?


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
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        [DllImport("user32.dll", SetLastError = false)]
        static extern IntPtr GetDesktopWindow();
        [DllImport("user32.dll")]
        static extern IntPtr GetDC(IntPtr hWnd);
        [DllImport("user32.dll")]
        static extern bool ReleaseDC(IntPtr hWnd, IntPtr hDC);
        Point[] points = new Point[1];
        public Form1()
        {
            InitializeComponent();
            this.MouseMove += Form1_MouseMove;
            this.Paint += Form1_Paint;
        }
 
        void Form1_Paint(object sender, PaintEventArgs e)
        {
            try
            {
                e.Graphics.DrawCurve(Pens.Blue, points);
                IntPtr hwnd = GetDesktopWindow();
                IntPtr desktopdc = GetDC(hwnd);
                using (Graphics g = Graphics.FromHdc(desktopdc))
                {
                    g.DrawCurve(Pens.Blue, points); ;
                }
                ReleaseDC(hwnd, desktopdc);
            }
            catch (Exception) { }
        }
 
        void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            switch (e.Button)
            {
                case MouseButtons.Left:
                    points[points.Length - 1] = e.Location;
                    this.Refresh();
                    Array.Resize<Point>(ref points, points.Length + 1);
                    break;
                default:
                    break;
            }
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 21:47
Ответы с готовыми решениями:

Программа для рисования прямоугольника
В окне формы рисует прямоугольник площадь которого 1/2 площади окна....

Анимация рисования линии
Есть код: public void ButtonCreate(int N) { ...

Рисование прямоугольника
Не получается нарисовать прямоугольник на pictureBox, чтобы можно было изменять...

Рисование прямоугольника
Здравствуйте! Нам в институте выдали задание, чтобы написали программу в...

Рисование прямоугольника на picturebox
На форме находится picturebox, на котором нужно нарисовать прямоугольник. В...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 21:47

Рисование прямоугольника в pictureBox мышью
Всем привет! У меня вот такая проблема.. на форме размещен pictureBox и нужно...

Рисование прямоугольника методом перетаскивания
Доброго времени суток. Подскажите как создать прямоугольник, рисующийся по...

Рисование прямоугольника с закругленными углами
Собственно, вопрос в теме. Никак не могу найти соответствующую функцию Прошу...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru