views:

125

answers:

2

For example, Windows Forms Designer offers to place my controls on the form the way there are 12 pixels between form border and control border. It seems too much to me. Is it standard value? Also, as I understand standard button height should be 23 pixels. Am I right? Is there any documents that state all this? And can I setup this default values in Visual Studio (for example what if want default margin between control and form borders, when the snap appears, to be 6 pixels instead of 12)?

+3  A: 

You can always refer to the Windows User Experience Guidelines. It comes with a handy table of recommended control sizes. There are drawbacks in using pixel sizes, however.

I don't know of a way to control the snapping behaviour in Visual Studio, though. Apparently it can't be done. You can set a grid size, but it won't affect the dynamic snapping lines.

Joey
Very nice links, thanks!
nightcoder
If you hold down the Alt key while dragging a control around, you can position it without the control snapping to guides.
Mal Ross
Thanks Mal, I didn't know.
nightcoder
A: 

To change the snapping options, go to Tools > Options > Windows Forms Designer. There is a 'Layout Settings' category that include a setting called 'GridSize'.

As far as standards are concerned, I see them fading away with the arrival of technologies that focus on the user experience (WPF/Silverlight). Look at Expression Blend for instance. Not very standard, right? I think delivering a great user experience in each app is much more important than having a common GUI style across all apps.

Sly
GridSize will only have an effect if you are snapping to the grid (as mentioned in the help text there as well), it won't have any effect on the dynamic snapping guides. Furthermore, while non-standard GUI can be a valid and useful choice in some cicumstances it is a terrible idea to do that by default. Read the UX guidelines, they state exactly the same and you should have a very good reason to deviate from the platform default. Consistency is pretty much the only thing a user has as guidance for using different applications. Throw that away and you make matter much worse.
Joey