C# 当放置在主窗体中时,用户控件间距增大

C# 当放置在主窗体中时,用户控件间距增大,c#,winforms,forms,user-controls,spacing,C#,Winforms,Forms,User Controls,Spacing,我有一个用VisualStudio2010开发的C#WinForms应用程序。我的应用程序有一个自定义控件(用户控件)。当我设计自定义控件时,这里是它的外观: 请注意,图像、标签和组合框之间的空间非常窄 当我将自定义控件添加到我的主窗体时,如下所示: 请注意,与第一幅图像中的间距相比,控件之间的间距要大得多 我不知道这个额外的间距是从哪里来的。这就好像控件之间的边距/填充被某个比例因子乘以,我不知道它是如何确定的 我已经尝试更改自定义控件和主窗体上的填充/边距,但似乎没有任何效果 有人知道为

我有一个用VisualStudio2010开发的C#WinForms应用程序。我的应用程序有一个自定义控件(用户控件)。当我设计自定义控件时,这里是它的外观:

请注意,图像、标签和组合框之间的空间非常窄

当我将自定义控件添加到我的主窗体时,如下所示:

请注意,与第一幅图像中的间距相比,控件之间的间距要大得多

我不知道这个额外的间距是从哪里来的。这就好像控件之间的边距/填充被某个比例因子乘以,我不知道它是如何确定的

我已经尝试更改自定义控件和主窗体上的填充/边距,但似乎没有任何效果

有人知道为什么会出现这个额外的空间吗


谢谢。

我只能看到这种行为的两个原因-要么你有错误的
停靠
/
锚定
设置(当你将
停靠
设置为
锚定
仅设置为
顶部
时,问题会重现),要么你的图像、标签和组合框位于其他控件的单元格中,类似于调整单元格宽度的
TableLayoutPanel
。因此,您没有任何额外的容器,然后非常仔细地检查每个控件(图像、标签和组合框)的
Dock
Anchor
设置。同时检查您是否在运行时更改了这些属性(同时检查
边距
位置
填充
)。

检查用户控件中控件的停靠和锚定控件的坐标是否在代码中更改(在运行时)?两个屏幕截图都来自设计器,而不是在运行ap时。当我运行应用程序时,没有任何变化。间距与设计器中的间距完全相同。Dock设置为None,anchor为默认值(顶部,左侧)。@Stefan我应该在运行时放入调试打印语句以检查坐标吗?我现在就这样做。我的窗体的控件和总体布局目前非常简单,因此我怀疑是否有任何隐藏面板等导致此行为。