将用户控件添加到GroupBox会更改WinForms中用户控件的布局

时间:2018-10-17 17:41:34

标签: c# winforms user-controls

我有一个带有GroupBox的WinForms应用程序。我设计了一个用户控件,它将一堆文本框和其他控件组合在一起,以便可以对它们应用一些自定义逻辑。用户控件如下所示: User control

我想将此用户控件放置在GroupBox中,但是这样做最终会影响用户控件中控件的布局(请参见下文)。 User control in groupbox

如您所见,我的文本框都按照我希望的样子散布开并调整了大小。如果我将此控件直接放置在主窗体或Panel上(而不是GroupBox上),则将保留布局,但是当我将其放置在GroupBox上的那一刻,一切都变得混乱了。有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

在两种情况下,用户控件的大小似乎有所不同。确保它在组框中的大小与将其直接放在窗体上时的大小相同。如果您使用了FlowLayoutPanelTableLayoutPanel之类的布局控件,那么这可能很重要。

还应注意,如果未显式设置Winforms控件,则它们将从其父级继承属性。例如,如果您尚未设置用户控件及其文本框的font属性,则这些文本将从组框中获取。

答案 1 :(得分:0)

最终为我工作的是制作一个单独的类GroupBox,该类扩展了GroupBox。该类为空,但是我将表单上的express-rate-limit转换为此,并将用户控件放在其中,从而解决了问题。