Как я могу создать схематический вид, на котором я могу размещать, перемещать и соединять элементы? - PullRequest
5 голосов
/ 21 августа 2011

Здравствуйте, коллеги-программисты,

Мне было поручено переписать программу для более новых версий Windows (так как оригинал был написан почти 15 лет назад с учетом Windows 3.1 и 95).

Проблема, с которой я столкнулся сейчас, состоит в том, что я не знаю, как создать своего рода холст, на котором я могу размещать графику и соединять их друг с другом для создания схемы, например this .

Я искал решение по всему интернету, но не смог ничего найти;может быть, мои условия поиска были отключены ... По сути, пользователь должен иметь возможность размещать элементы в сетке, соединять их друг с другом и, конечно, также выполнять операции редактирования, такие как перемещение или удаление чего-либо.У всех элементов также есть свойства, которые можно редактировать.

Я думал об использовании WPF, но если бы это было проще сделать с помощью другого инструментария, я бы тоже был к этому открыт.Приложение будет написано на языке C #.

Если вы хотите самостоятельно ознакомиться с программным обеспечением, вы можете загрузить его здесь .(Для его запуска требуется 32-разрядная версия Windows.) К сожалению, она доступна только на немецком языке, но вы можете перейти к этой сетке, открыв S57901.exe, открыв файл проекта "DEMO.PRJ" (в программекаталог), затем перейдите в «Programm»> «Edit: (...) \ DEMOP.PR».

Заранее спасибо!

1 Ответ

3 голосов
/ 21 августа 2011

Если вы собираетесь писать на C #, тогда возьмите WPF.Он имеет лучшую поддержку и производительность для графических приложений.Также у вас не будет такой боли с OnPaint, тестированием попаданий, масштабированием и т. Д., Как в WinForms.

Как я знаю, нет библиотек, которые позволили бы использовать такие сложные элементы и манипулировать ими.Как я понимаю, схемы, подобные примеру, можно представить в виде графика, поэтому вы можете использовать библиотеку, которая позволяет рисовать графики.Я не буду публиковать список самых популярных и гибких из них.Просто посмотрите на search .

Update.

Нашли что-то ближе к вашей проблеме:

Также взгляните на yФайлы для WPF .Но, к сожалению, это не бесплатно.

...