views:

1328

answers:

5

I'm using Visual C# Express to write Windows Form applications, and call me old school, but I don't like the designer. It is a nuisance and pollutes my project with lots of unwanted files, as well as unwanted monkey-generated source code.

Please please please tell me there's a way to turn it off completely.

+3  A: 

Right clicking on a project file and selecting open with allows you to set the defaults for opening file types.

Richard
OK, thanks, that's a big help. I didn't realize I could set the default opener for a file. It was a small nuisance to right click and pick "view code" every time.
I. J. Kennedy
+1  A: 

If you don't want to use the designer, then don't use it ?

You can create a new form from scratch, without the designer generating any code by creating a new empty class, and let the class inherit from System.Windows.Forms.Form

Then, VS.NET will probably still indicate that your class is a Form, and you can still open it up in the designer if you want. (And drop controls on it).

Frederik Gheysels
+2  A: 

Just dont add "new form" , add to the project new class and inherit him from the Form class.

Avram
+3  A: 

Add [System.ComponentModel.DesignerCategory("")] attribute before a UI class to avoid designer activation on double-click. And do not use designer by yourself. =)

+1  A: 

Frederik, sure you're right, but not in one fact. ( this one I.J wanted to know ) As soon as you inherit from any Component, the studio tries to open it in a designer editor. That is a default behaviour of the visual studio.

If you double click a file in the solution explorer, then a designer opens. So it's really annoying if you always get such strange designer for classes that are just inherited from a Component, but do not contain any visible things.

The only thing that really helped me out, was to set this attribute:[System.ComponentModel.DesignerCategory("")]

I didn't knew this =) so cool hint !

I just get a problem with partial MainForm classes. Then it yells "duplicate attribute"...

Does here anybody knows a solution to avoid in some partial class-files the designer to be opened on double click ( without the duplicate attribute error on compile ? )


I think I found a small bug, in VS2005... By setting the DesignerCategory-Attribute on the partial form class, on save the solution explorer shows up an icon, identifying the file as a c# file (no form).

Then I put a comment (//) before the attribute - and it keeps opening the file in code view. Also after closing and reopening it's stored internally as a non designable form-part. Even on re opening the complete solution.

So I think there is any information in the solution or project file...

... I found this in the .csproj file: ...

<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>

...

Studio updates from time to time - then it updated the form files again (doh)... ok.. but there is probably a workaround to avoid this.


snip... last edit... found something:

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

( name the file you want to open without designer into .Designer.cs )

( Yes you have to name something to switch it of LOL ) Seems to work.

fishy_pkat151