3 / 3 / 1
Регистрация: 10.12.2009
Сообщений: 22
|
|
1 | |
Graphics.DrawLine14.10.2015, 06:54. Показов 2975. Ответов 6
Метки нет (Все метки)
Использовал и портировал пример с этой ссылки http://stackoverflow.com/quest... nd-move-it
Все работает великолепно, Линии рисуются на форме. Проблема в растягивании формы. я поставил контрол подальше в право, и в конструкторе формы autoscroll = true. теперь если запустить приложение видим такую картину (1 скрин). Если ползунок прокрутить в право и дождаться перерисовки формы (событие "onpaint") можно увидеть то что видно на втором скрине. Т.е. эти линии съезжают. Может кто подкинуть идею как заставить в этом случае их оставаться на месте ?
0
|
14.10.2015, 06:54 | |
Ответы с готовыми решениями:
6
Как реализован метод DrawLine и другие, описанные в классе Graphics Метод Graphics.DrawLine(Int32, Int32, Int32, Int32) Узнать координаты всех точек данной прямой Graphics.SetClip Method (GraphicsPath) и Graphics.Clear Method vs Graphics.FillPath Method (System.Drawing) DrawLine в Panel |
14.10.2015, 08:52 | 2 | |||||
Reborm,
1) Пример на strackoverflow - ужасен. Это ж надо догадаться генерить bmp, что бы опредлелить клик по линии. В общем - говнокод. 2) Для решения вашей проблемы - вставьте в форму такой метод:
1
|
3 / 3 / 1
Регистрация: 10.12.2009
Сообщений: 22
|
|
15.10.2015, 09:08 [ТС] | 3 |
Storm23,
Добавил ваш код в свой проект, добавил в конструкторе формы событие scroll, изменилось только то что теперь при скроле формы линии быстрее перерисовываются =) . Но так же сьезжают. Я благодарен вам за ссылки, но слишком поздно я их увидел. В проекте уже слишком много функционала, логики и пр., связанного с тем примером что я скинул в начале темы. Я бы все же хотел бы приладить этот, как вы выразились, "говнокод". Если это возможно, конечно. Хм. А если приладить на форму громадный пикчербокс и рисовать уже на нем, а не на форме ?
0
|
15.10.2015, 09:18 | 4 |
Ну я скопировал тот код со stackoverflow, добавил код для OnScroll, и линии НЕ съезжают. Следовательно причина в чем то еще. Но в чем - я сказать не могу, поскольку не вижу вашего кода целиком.
0
|
3 / 3 / 1
Регистрация: 10.12.2009
Сообщений: 22
|
|
15.10.2015, 09:38 [ТС] | 5 |
Вы не могли бы выложить весь проект ? например в .rar
0
|
15.10.2015, 10:02 | 6 |
Сообщение было отмечено Reborm как решение
Решение
Reborm, Вот WindowsFormsApplication318.zip
Сделал также оптимизацию прокрутки, что бы изображение совсем не дергалось при скроллинге.
1
|
3 / 3 / 1
Регистрация: 10.12.2009
Сообщений: 22
|
|
15.10.2015, 12:39 [ТС] | 7 |
Благодарю.
0
|
15.10.2015, 12:39 | |
15.10.2015, 12:39 | |
Помогаю со студенческими работами здесь
7
Panel+picturebox+drawline Построить параллелепипед с использованием DrawLine DrawImage vs Drawline & Drawlines Нарисовать графический рисунок, используя DrawLine и DrawCurve в pictureBox Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |