Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Aleks fratriecz
3 / 3 / 8
Регистрация: 06.09.2012
Сообщений: 131
#1

Соединение линией двух PictureBox'ов - C#

06.10.2013, 17:35. Просмотров 1020. Ответов 7
Метки нет (Все метки)

доброго времени суток,подскажите,мне нужно чтоб при нажатии кнопки к примеру баттон 1 соединить линией пикчабокс1 и пикчабокс2 причем положение пикча боксов относительна друг друга может меняться,как лучше реализовать рисование этой линии?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2013, 17:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Соединение линией двух PictureBox'ов (C#):

Соединение 2 точек линией по кратчайшей траектории
Действия происходят в Microsoft Visual C# 2010. Надо соединить 2 точки в...

Соединение блоков динамической прямой линией в программе для создания блок-схем
Доброго времени. Делаю программу для создания блок-схем, для саморазвития....

Соединение двух клиентов используя сервер
Допустим у нас имеется сервер(белый ip) и два клиента(серый ip). Клиенты...

рисование сглаженной линией
Чем и как можно рисовать сглаженные линии (не попиксельно)? ...

Соединить несколько PictureBox линией
Помогите, пожалуйста. Есть PictureBox'ы,их нужно соединить линией,которая при...

Рисование геометрических фигур толстой линией
Добрый день, уважаемые коллеги. Рисую дорожные знаки в маленьком разрешении...

7
Soundpro
73 / 73 / 34
Регистрация: 19.10.2012
Сообщений: 213
Завершенные тесты: 1
07.10.2013, 00:46 #2
Проще всего использовать такую штуку как lineshape из библиотеки VB, получаете координаты ДГВ1 присваиваете значение lineshape1.StartPoint, получаете координаты ДГВ2 присваиваете значение lineshape1.EndPoint, всё, линия проведена.
1
Aleks fratriecz
3 / 3 / 8
Регистрация: 06.09.2012
Сообщений: 131
07.10.2013, 08:03  [ТС] #3
А можешь нубу расшифровать абривиатугы VB ДГБ1 и ДГБ 2
0
Soundpro
73 / 73 / 34
Регистрация: 19.10.2012
Сообщений: 213
Завершенные тесты: 1
07.10.2013, 17:35 #4
Я думал вопрос про DataGridView вот и написал ДГВ.
По теме:
Обозреватель решений->правой кнопкой на "Ссылки"->добавить ссылку->.NET->Microsoft.VisualBasic.PowerPacks.Vs->добавить.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using Microsoft.VisualBasic.PowerPacks
        private void button1_Click(object sender, EventArgs e)
        {
            Point p1 = new Point(); 
            Point p2 = new Point();
            p1.Y = pictureBox1.Location.Y + pictureBox1.Size.Height / 2;
            p1.X = pictureBox1.Location.X + pictureBox1.Size.Width / 2;
            p2.Y = pictureBox2.Location.Y + pictureBox2.Size.Height / 2;
            p2.X = pictureBox2.Location.X + pictureBox2.Size.Width / 2;
            ShapeContainer cont = new ShapeContainer();
            LineShape ls = new LineShape();
            cont.Parent = this;
            ls.Parent = cont;
            ls.StartPoint = p1;
            ls.EndPoint = p2;
        }
Рисуется от центра одноко пикчабокса, до центра другого.
0
Aleks fratriecz
3 / 3 / 8
Регистрация: 06.09.2012
Сообщений: 131
07.10.2013, 18:42  [ТС] #5
я добавил диллы туда куда ты сказал а вижл студио всеравно не видит их при добавить ссылки,как это может быть?
0
Soundpro
73 / 73 / 34
Регистрация: 19.10.2012
Сообщений: 213
Завершенные тесты: 1
07.10.2013, 21:01 #6
Ты весь список пролистал? Там не по алфавиту идёт, так что мог не увидеть.
0
Aleks fratriecz
3 / 3 / 8
Регистрация: 06.09.2012
Сообщений: 131
08.10.2013, 12:12  [ТС] #7
да все,и нету всеравно(
0
Soundpro
73 / 73 / 34
Регистрация: 19.10.2012
Сообщений: 213
Завершенные тесты: 1
08.10.2013, 16:06 #8
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Ну используйте обычную линию, неужели так сложно набрать в поисковике "Рисование линий c#"???
C#
1
2
3
4
5
6
7
8
9
10
            Point p1 = new Point(); 
            Point p2 = new Point();
            p1.Y = pictureBox1.Location.Y + pictureBox1.Size.Height / 2;
            p1.X = pictureBox1.Location.X + pictureBox1.Size.Width / 2;
            p2.Y = pictureBox2.Location.Y + pictureBox2.Size.Height / 2;
            p2.X = pictureBox2.Location.X + pictureBox2.Size.Width / 2;
            Graphics gr = CreateGraphics();
            SolidBrush br1 = new SolidBrush(Color.Black);
            Pen pn = new Pen(br1);
            gr.DrawLine(pn, p1, p2);
1
08.10.2013, 16:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2013, 16:06
Привет! Вот еще темы с решениями:

Как соединить две точки линией?
у меня есть 2 точки нарисованные с помощью GDI, нужно их соединить линией,но...

Функция соединения точек линией в ZedGraph
Здравствуйте. Есть график, который состоит из кучи точек. Нужно как-то их...

Как управлять линией RTS COM-порта?
Как известно, линия RTS COM-порта может работать в трёх режимах: - всегда...

Базовое соединение закрыто: Соединение было неожиданно закрыто
Недавно написал лаунчер для своего сервера, сделал там и регистрацию. Для этого...


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

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

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