自动调整WinForms对话框大小以适应内部内容

自动调整WinForms对话框大小以适应内部内容,winforms,modal-dialog,Winforms,Modal Dialog,我正在编写一种“通用容器对话框”,它将确保应用程序中的所有模式对话框都具有完全相同的“chrome”(即按钮、图标等)。我得出了以下结论: containerPanel只是一个System.Windows.Forms.Panel 现在我想要的是:对于应用程序中的每个对话框,我想要创建一个单独的用户控件(不是一个完整的表单),然后将其“托管”在这个通用对话框中。要做到这一点,我需要以某种方式使这个对话框可以自我调整,以便它可以根据托管在其中的控件的大小而收缩或增长 我该怎么做?我是否需要某种布局

我正在编写一种“通用容器对话框”,它将确保应用程序中的所有模式对话框都具有完全相同的“chrome”(即按钮、图标等)。我得出了以下结论:

containerPanel
只是一个
System.Windows.Forms.Panel

现在我想要的是:对于应用程序中的每个对话框,我想要创建一个单独的
用户控件
(不是一个完整的
表单
),然后将其“托管”在这个通用对话框中。要做到这一点,我需要以某种方式使这个对话框可以自我调整,以便它可以根据托管在其中的控件的大小而收缩或增长


我该怎么做?我是否需要某种布局控件,或者是否有一些特殊的神奇属性来执行此操作?

windows.form.control有一个布尔自动调整大小属性。当为true时,它允许控件自动调整大小以适应其内容

您可以遍历
控件
集合,查找枚举的每个控件的下角,找到最大x和最大y,并适当设置窗体(容器)的宽度和高度。

对于Windows.form也是如此。它还具有AutoSize属性,允许它根据内容收缩和增长。我还建议在面板上使用适当的锚和表单中的按钮。