LineShape - соединить линиями несколько PictureBox - Visual Basic .NET
Формулировка задачи:
Доброго времени суток..
Люди подскажите .. Есть форма.. на ней 15 PictureBox'ов выстроеных в прямоугольник и 1 LineShape
я задаю координаты для LineShape и линия соединяет эти PictureBox'ы ..
1-ых .. Не могу добиться чтобы LineShape был по верх PictureBox'ов ...
2-ых .. Как сделать чтобы выводились в Listbox те PictureBox'ы которые пересекает LineShape
Заранее благодарен!..
Решение задачи: «LineShape - соединить линиями несколько PictureBox»
textual
Листинг программы
''' <summary> ''' функция проверяет пересечение прямоугольника с отрезком ''' </summary> ''' <param name="rect">проверяемый прямоугольник</param> ''' <param name="p1">первая точка отрезка</param> ''' <param name="p2">вторая точка отрезка</param> ''' <returns></returns> ''' <remarks></remarks> Function crossrect_line(ByVal rect As Rectangle, ByVal p1 As Point, ByVal p2 As Point) As Boolean ' задаемся координатами вершин прямоугольника. Считаем А - верхняя слева и далее по часовой стрелке обходим. Dim A, B, C, D As Point A = New Point(rect.Left, rect.Top) B = New Point(rect.Right, rect.Top) C = New Point(rect.Bottom, rect.Right) D = New Point(rect.Left, rect.Bottom) If rect.Contains(p1) Or rect.Contains(p2) Then Return True ' отрезок полностью находится в прямоугольнике или же одна из его конечных точек находится в прямоугольнике. Дальнейшие проверки бессмысленны. ' если же отрезок прошел насквозь, поочередно проверяем пересечение со сторонами. Если хоть одна сторона пересеклась, то отрезок пересекает прямоугольник. Если ни одна сторона не пересеклась - не пересекает. ' надо проверить на пересечение с нашим отрезком (p1,p2) отрезков-сторон прямоугольника AB, BC, CD, AD If crosslines(A, B, p1, p2) Then Return True If crosslines(B, C, p1, p2) Then Return True If crosslines(C, D, p1, p2) Then Return True If crosslines(A, D, p1, p2) Then Return True Return False End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д