Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# Windows Forms

Войти
Регистрация
Восстановить пароль
 
StanlyRainbow
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 30
#1

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

09.02.2014, 21:47. Просмотров 352. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос переделать с рисования линии на рисование прямоугольника C# (C#):

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

Анимация рисования линии - C#
Есть код: public void ButtonCreate(int N) { int posY = button1.Top; for (int i = 0; i...

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

Рисование прямоугольника на picturebox - C#
На форме находится picturebox, на котором нужно нарисовать прямоугольник. В метод Draw с помощью делегата передаются 2 параметра - высота и...

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

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

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

Рисование прямоугольника методом перетаскивания - C#
Доброго времени суток. Подскажите как создать прямоугольник, рисующийся по принципу paint, от точки Х к точке У методом перетаскивания....

Рисование линии - C#
Подскажите почему у меня не рисуется линия на элементе PictureBox (mainPicture) при нажатии на левую кнопку курсор ничего не рисует? ...

Рисование линии - C#
рисование линии по щелчку выдается одна точка по второму другая и рисуется линия,почему то в координаты запихиваются не те значения,не могу...

Рисование прямоугольника: нарисованное быстро стирается - C#
Пытаюсь нарисовать прямоугольник с помощью GDI+.Прямоугольник рисуется, но если попытаться нарисовать еще один прямоугольник, то этот...


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

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

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