Отключить дизайнер в Visual Studio? - PullRequest
30 голосов
/ 20 февраля 2009

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

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

Ответы [ 6 ]

93 голосов
/ 02 марта 2009

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

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

27 голосов
/ 20 февраля 2009

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

5 голосов
/ 26 ноября 2011

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

2 голосов
/ 09 июня 2010

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

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

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

Я этого не знал =) так классный намек!

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

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


Кажется, я обнаружил небольшую ошибку в VS2005 ... При установке DesignerCategory-Attribute для класса частичной формы при сохранении обозреватель решений отображает значок, определяющий файл как файл c # (без формы).

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

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

... Я нашел это в файле .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>

...

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


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

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

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

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

2 голосов
/ 20 февраля 2009

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

0 голосов
/ 20 февраля 2009

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

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

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

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