Как я могу создать свой собственный дизайнер форм? - PullRequest
7 голосов
/ 20 марта 2010

Я запускаю свой первый проект на C # и хочу создать «конструктор форм» (как в VS).

Идея в том, что будет визуальный дизайнер форм с ограниченным набором инструментов, который будет генерировать код Python (позже) для создания той же формы.

Проблема в том, что я понятия не имею, с чего начать. Прежде всего, у меня есть дизайнер форм в VS: как мне сделать «форму внутри формы»?

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

Итак, еще одна вещь, которую я хотел бы знать, это:
У меня есть опыт программирования на C и C ++, я несколько лет занимался PHP и начинаю с Python с недавнего времени. Я генерировал формы динамически в VB6. Учитывая этот опыт, я не надумал над этим проектом?

Ответы [ 3 ]

6 голосов
/ 20 марта 2010

это выглядит действительно хорошим местом для начала. Это довольно хороший пример, чтобы вы начали. Вы даже можете скачать его источник (требуется регистрация).

3 голосов
/ 20 марта 2010

Для большинства людей, начинающих в C #, этот проект будет слишком много. С фоном VB6 вы, возможно, сможете это сделать.

Вот подсказка: дизайнер Visual Studio для Windows Forms рисует элементы управления на своей поверхности, запрашивая элементы управления для рисования.

3 голосов
/ 20 марта 2010

Похоже, вы знаете, что нетривиально для первого таймера C #. Если вы держите это довольно просто, это звучит так, как будто вы движетесь в правильном направлении (хотя веб-дизайнер форм может быть проще).

SharpDevelop был бы примером полнофункциональной IDE, которую можно изменить, но это слишком.

Удачи!

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