Change spacing of snaplines in Visual Studio

梦想的初衷 提交于 2019-11-27 07:39:11

问题


Is it possible to change the amount of space snaplines put between controls in a WinForms project in Visual Studio?

For example, when I slide a textbox up to another textbox (one above the other), there's 6 pixels of space between the controls. I'd like there to be 5 pixels of space between them when they snap to each other.

Thanks.


EDIT:

Thanks for all of the answers. I thought it might be helpful to summarize the approaches:

Option 1

Set the Layout Mode to SnapLines (default) under Tools > Options > Windows Forms Designer > General and follow Igby Largeman's guidance in the accepted answer.

Option 2

Set the Layout Mode to SnapToGrid and choose the spacing via Default Grid Cell Size. Thanks to Joe Caffeine and Marc Stober for this answer.

Supplemental approach 1

Hold the ALT key when dragging controls to avoid using snapping altogether as Vigness.N suggested.

Supplemental approach 2

Use arrow keys to move controls in pixel increments.

Supplemental approach 3

Johannes Frank also suggests adding placeholder controls to assist with initial snaplines.


回答1:


Note that snaplines are used both for spacing (blue lines) and for alignment (pink lines).

Yes, you can control the amount of space the snaplines suggest, but you do this by altering the Margin and Padding properties of the controls.

If you slide one control toward another, the length of the snapline is the sum of the Margin of the two controls.

If you slide a control toward the border of its containing control, the length of the snapline is the sum of the Margin of the control and the Padding of the containing control.

This is discussed here.

Edit: There is a special case when the Form is the parent container and the Form's padding is 0,0,0,0.

Note
If the form's Padding property is set to 0,0,0,0, the Windows Forms Designer gives the form a shadowed Padding value of 9,9,9,9. To override this behavior, assign a value other than 0,0,0,0.




回答2:


There are no snaplines that help you set the spacing between controls, they assist in aligning control edges and text. Instead, the designer pays attention to the Margin property of the control. The default for a Button is (3, 3, 3, 3), it will snap in place creating a 3 pixel gap from the adjacent control.

Best to try it yourself. Drop a label and a button, change the button's Margin to (3, 10, 3, 3) and move the Button below label up and down. You'll see it now snaps in place creating a 10 pixel gap.




回答3:


There is a setting to control the grid spacing under tools -> options -> Windows Forms Designer.




回答4:


You can press and hold the Alt key when dragging controls and release the key after the control is placed in the desired point, so that it does not snap anywhere by default.




回答5:


Obviously there is no option setting. You can however achieve your goal with these two meassures: First: Move the control after the drop with the arrow keys. Second: You could place helper buttons at the left right top or bottom side on your container. Snapline will use these as a reference and if they are spaced 4 pixel your new controls will also be 4 pixel appart. You could also press control with an arrow key to move to the next suggested snapline position. Spacing of down to 1 pixel is possible with this. Finally delete your helper buttons.

Hope it helps.



来源:https://stackoverflow.com/questions/1376622/change-spacing-of-snaplines-in-visual-studio

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!