Winforms фиксированной единственной границы на пользовательском элементе управления - PullRequest
0 голосов
/ 19 мая 2010

Я создал пользовательский элемент управления, наследуемый от панели в .NET 3.5

Панель имеет настраиваемую границу многоугольника, полученную из массива pointF (на диаграмме элемент управления выделен желтым цветом).

На рис. 1 показан элемент управления с BorderStyle none. Рис. 2 с фиксированным одиночным BorderStyle

Как показано на рисунке 2, граница следует за прямоугольником, ограничивающим элемент управления. Есть ли способ заставить границу следовать фактической границе элемента управления, установленного многоугольником?

К вашему сведению, полигон создан с использованием объекта GraphicsPath.

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

альтернативный текст http://poseidon.toop.com.au/noBorder.PNG

Fig1


альтернативный текст http://poseidon.toop.com.au/withBorder.PNG

fig2

1 Ответ

1 голос
/ 19 мая 2010

Я бы сделал преобразование для точек (увеличение), затем использовал Graphics.DrawPolygon (кисть, точки), используя преобразованные точки, или вы могли бы сделать обратное (заполнение черным, затем преобразование (увеличение) ) и затем нарисуйте еще меньше с желтым.

...