Какие контролы использовать в WinForms для открытия в одном окне нескольких текстовых документов?
Давно сидит в голове идея программы для анализа кода (практически с самого начала изучения c#), но в силу недостатка опыта работы с WinForms и дизайнером не могу придумать, какие контролы использовать для этого. Общая идея выглядит примерно так:
- Предполагается, что программа будет выполнять поиск в выбранной области на диске (папка проекта) и открывать все файлы с расширением *.cs.
- Открываться они будут в виде "плиток", внутри каждой будет код соответствующего файла.
- Планируется, чтобы плитки возможно было перетаскивать в произвольное место в окне, при этом если они не мешают соседним, то смогут оставаться в выбранном месте, если же плитка будет помещена поверх соседней, то будет автоматически корректировать свое расположение.
- Плитки можно перетаскивать группами, выделив нужные.
- Должна быть доступна функция "масштабирования" - пропорциональное увеличение или уменьшение масштаба прокруткой колеса мышки (от общего вида всех плиток, до степени, позволяющей свободно читать код), с центром в точке расположения курсора мышки (как на гугл карте), а также смещения вида перетаскиванием за незанятую область.
Итого. В программе условно-бесконечный "холст", способный вместить любое количество плиток, и их можно свободно таскать по нему, а также смещать сам холст и масштабировать вид. Это только то, что относится к представлению, самое интересное (если получится) будет в функциях анализа кода.
Возможно ли реализовать это на WinForms? Если да - подскажите, какие контролы для этого подойдут. Заранее спасибо! P.S. На скрине изобразил, как это примерно может выглядеть.