2015-02-22 5 views
3

Я использую Visual Studio для создания проекта Windows Form.Как я могу использовать конструктор Visual Studio без формы

В Обозревателе решений для моего проекта нет классов форм. Я создаю все свои формы на лету. Поэтому у меня нет возможности открыть конструктор в Visual Studio или Toolbox.

Но я хочу создать ContextMenuStrip и отредактировать его в Дизайнере. Обычно я делаю это, перетаскивая ContextMenuStrip из ToolBox в конструктор. Тем не менее, я не могу каким-либо образом (я могу сказать) открыть конструктор без предварительного создания формы или пользовательского контроля.

Как редактировать ContextMenuStrip в дизайнере, не связав сначала его с формой или пользовательским управлением?

Чтобы быть ясным - я знаю, как создавать ContextMenuStrip на лету, в коде. Это не то, чего я хочу. Я хочу использовать конструктор для создания и редактирования ContextMenuStrip без необходимости сначала связывать ContextMenuStrip с формой или пользовательским элементом управления, который я не буду включать в свой проект.

(Visual Studio 2013 Pro, если это имеет значение)

+0

Я не совсем уверен, что вы имели в виду, но, возможно, [свойство grid control] (https://msdn.microsoft.com/en-us/library/aa302326.aspx) сделает то, что вы хотите –

+3

Вы можете ' t, вам нужна форма или пользовательский контроль. –

+0

@ LasseV.Karlsen - так ... Я создаю пользовательский элемент управления в VS и добавляю контекстное меню к этому элементу управления в конструкторе и редактирую его; то в моем коде «build form on fly» я создаю экземпляр пользовательского элемента управления, НЕ добавляю пользовательский элемент управления в форму, а затем устанавливаем форму. КонтекстMenuStrip для myUserControl.ContextMenuStrip? –

ответ

0

Я не считаю, что это возможно, и я не думаю, что это на самом деле имеет смысл под контролем.

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

То, что вы пытаетесь создать, не является ни новым типом UserControl, ни новым типом Form - любой из которых может быть создан в Дизайнере. Это полоска меню с определенными вещами, предварительно добавленными к ней. Это не может существовать изолированно. Он должен перевести код, который создает и добавляет элементы к конкретному объекту ContextMenuStrip. Этот объект должен где-то жить в классе (Form или UserControl). Я не вижу, как он может существовать сам по себе.

+1

«Я не думаю, что это имеет смысл под пристальным вниманием». - Не имеет смысла задаваться вопросом, может ли предлагаемый конструктор помочь мне графически редактировать известную структуру данных, которую я декларирую в коде? Я понимаю, почему строители предпочли бы не поддерживать это, но я вряд ли думаю, что желание «не имеет смысла». Я вижу, что этот вопрос также игнорируется, и это также выходит за рамки меня.Если это вопрос, который может задать более одного пользователя VS, как это не полезно для Stackoverflow? Ах хорошо. Тайны того, что Stackoveflow становится продолжением. –

+1

Я думаю, что это очень разумный вопрос. Я фактически его поддержал. «Не имеет смысла», я имею в виду, «не соответствует тому, как должен работать дизайнер». Извинения, если мой ответ казался каким-то образом оскорбительным. – Baldrick

Смежные вопросы