c # / java Перетаскивай точки и рисуй линии между ними - PullRequest
1 голос
/ 13 января 2011

Эй, есть ли простой способ в c # или java, позволяющий пользователю «перетаскивать» точки на форму и затем рисовать линии между новой точкой и существующими?/ framework / что угодно (или даже уже существует в c # / java?)

Ответы [ 2 ]

0 голосов
/ 13 января 2011

Мне неизвестна какая-либо библиотека, которая делает это, но то, что я сделал, чтобы немного упростить вещи, создало usercontrol 2x2, который представлял точку и позволял пользователю перетаскивать ее в форму перетаскиванием. Линии были нарисованы вручную, однако, в OnPaint (...)

0 голосов
/ 13 января 2011

Конечно; это будет зависеть от структуры и архитектуры. C # WPF будет иметь другой способ сделать это, чем C # WinForms, который будет отличаться от Java Swing.

Для Winforms вы просто создадите графический объект на основе некоторой области вашей формы, ограниченной элементом управления (например, Panel или PictureBox), затем по событию MouseClick этого элемента управления зарегистрируйте текущее местоположение мыши и проведите линию между это местоположение и местоположение предыдущего клика (или всех других кликов).

Если вы хотите перетаскивать, как с панели инструментов, это немного сложнее; в основном вам нужно отслеживать, что вы перетащили и куда вы уронили, чтобы, когда вы уронили, вы могли выполнить правильное действие. Я полагаю, что аргументы, которые вы получите в обработчике DragDrop, дадут вам эту информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...