Подтвердить что ты не робот

Отключить конструктор в Visual Studio?

Я использую Visual С# Express для написания приложений Windows Form и называю меня старой школой, но мне не нравится дизайнер. Это неприятность и загрязняет мой проект множеством нежелательных файлов, а также нежелательный исходный код, созданный обезьяной.

Скажите, пожалуйста, способ полностью отключить его.

4b9b3361

Ответ 1

Просто не добавляйте "новую форму" , добавьте в новый класс проекта и наследуйте его от класса Form.

Ответ 2

Добавьте атрибут [System.ComponentModel.DesignerCategory("")] перед классом пользовательского интерфейса, чтобы дважды активировать активацию конструктора.

Обратите внимание, что включение System.ComponentModel в верхней части файла, а затем просто добавление атрибута как [DesignerCategory("")] не будет работать (по крайней мере, не в Visual Studio 2010). Вы должны использовать полное имя типа атрибута, ограниченного пространством имен.

Ответ 3

Щелкните правой кнопкой мыши файл проекта и выберите "Открыть", чтобы вы могли установить значения по умолчанию для открытия типов файлов.

Ответ 4

Собственно, все, что вам нужно сделать в VS2010, - это щелкнуть правой кнопкой мыши файл .cs, который вы не хотите открывать в конструкторе, выбрать опцию "Открыть с..", а затем сделать CSharp Editor по умолчанию. Обратите внимание, что представление формы является значением по умолчанию, прежде чем вы его измените.

Ответ 5

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

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

Единственное, что действительно помогло мне, - установить этот атрибут: [System.ComponentModel.DesignerCategory("")]

Я не знал этого =) так круто намек!

У меня проблема с частичными классами MainForm. Затем он кричит "дубликат атрибута"...

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


Я думаю, что нашел небольшую ошибку, в VS2005... Установив атрибут DesignerCategory в классе частичной формы, на вкладке save explorer появится значок, идентифицирующий файл как файл С# (без формы).

Затем я помещаю комментарий (//) перед атрибутом - и он продолжает открывать файл в виде кода. Кроме того, после закрытия и повторного открытия он хранится внутри как нестандартная форма-часть. Даже при повторном открытии полного решения.

Итак, я думаю, что есть какая-либо информация в файле решения или проекта...

... Я нашел это в файле .csproj: ...

<Compile Include="GUI\VFormMain_Test.cs">
</Compile>
<Compile Include="GUI\VFormMain_Theme.cs">
</Compile>
<Compile Include="Core\VTTEnv.cs" />
<Compile Include="GUI\VFormMain.cs">
  <SubType>form</SubType>
</Compile>

...

Студия обновляется время от времени - затем она обновляет файлы формы снова (doh)... ok.. но, возможно, это обходное решение, чтобы этого избежать.


чик... последнее изменение... нашел что-то:

http://social.msdn.microsoft.com/Forums/en-US/csharpide/thread/64c77755-b0c1-4447-8ac9-b5a63a681b78

(укажите файл, который вы хотите открыть без конструктора, в .Designer.cs)

(Да, вы должны назвать что-то, чтобы переключить его на LOL) Кажется, работает.

Ответ 6

Если вы не хотите использовать конструктор, не используйте его?

Вы можете создать новую форму с нуля, без конструктора, генерирующего какой-либо код, создав новый пустой класс, и пусть класс наследует от System.Windows.Forms.Form

Затем VS.NET, вероятно, покажет, что ваш класс является формой, и вы все равно можете открыть его в дизайнере, если хотите. (И отмените контроль над ним).