Winforms Visual Studio 2010中的控件捕捉

Winforms Visual Studio 2010中的控件捕捉,winforms,visual-studio,visual-studio-2010,windows-forms-designer,Winforms,Visual Studio,Visual Studio 2010,Windows Forms Designer,我只是吹毛求疵,但也许有一个简单的解决方案可以帮我节省一些时间 在设计器中绘制Winforms GUI时,控件会捕捉到某些点。我可以将一个控件的文本基线与另一个控件的文本基线对齐,我可以将一个控件的左侧和/或顶部与另一个控件对齐,等等。这一切都很棒 还有一点很好,那就是控件捕捉到其他控件,这些控件之间用它们的边距隔开。这意味着,如果我制作一个垂直的文本框数组,那么我可以让它们在我的GUI中等距排列——看起来不那么凌乱 然而,并不是所有的东西都能正确地捕捉,或者根本不能。假设我已经放入了文本框,现

我只是吹毛求疵,但也许有一个简单的解决方案可以帮我节省一些时间

在设计器中绘制Winforms GUI时,控件会捕捉到某些点。我可以将一个控件的文本基线与另一个控件的文本基线对齐,我可以将一个控件的左侧和/或顶部与另一个控件对齐,等等。这一切都很棒

还有一点很好,那就是控件捕捉到其他控件,这些控件之间用它们的边距隔开。这意味着,如果我制作一个垂直的文本框数组,那么我可以让它们在我的GUI中等距排列——看起来不那么凌乱

然而,并不是所有的东西都能正确地捕捉,或者根本不能。假设我已经放入了文本框,现在我希望缩小表单的宽度,这样文本框的边缘和表单的边缘之间就没有空白了。此外,我希望文本框边缘和表单边缘之间的距离在左侧与右侧相同。如果我将窗体的右边缘向左拖动到文本框,它将不会捕捉。我剩下的要么是计算出宽度应该是多少,要么是变戏法逐渐减小宽度,直到文本框捕捉到右侧的左侧

我并不是说这个过程特别困难或耗时。只是如果它折断了,整个过程会变得非常简单


VS2010中是否有内置选项,或者是否有扩展?或者可能我一开始就做错了?

在移动或调整任何内置控件时,设计器中的捕捉线都能完美地工作。它们唯一不起作用的时候是在调整窗体本身的大小时

我同意,在这里设置捕捉线也非常方便。我希望我知道一种方法来实现这一点。但不幸的是,我不相信有


解决方法是通过数学计算适当的大小,或者猜测表单的大小,然后通过拖动其中一个控件(并使用显示的捕捉线)检查您的工作。我经常经历您描述的“杂耍动作”。

每当控件需要定位以便“捕捉”到窗体边缘时,我通常首先将控件移动(或调整大小)到正确的大小,然后更改控件的“锚定”属性将这些控件定位到相应的窗体边缘(即使窗体本身不允许调整大小)

这样,每当我调整窗体大小时,控件相对于该窗体的位置保持不变,只需根据需要调整或移动控件(取决于所选的锚属性)

我完全同意,在调整表单大小时将表单“捕捉”到控件的功能非常有用,但通常可以通过这种方式使用锚属性来解决问题—当锚属性不起作用时(例如,当表单完全由一列文本框组成时,高度是固定的),恐怕您需要进行计算,但我发现我的大多数对话框都可以调整大小