2010-11-02 28 views
2

我正在写一种“通用容器对话框”,它将确保应用程序中的所有模态对话框将具有完全相同的“chrome”(即按钮,图标等)。 )。我想出了以下情况:Autosizing WinForms对话框以适应内容

alt text

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

现在我想要的是如下:对于应用程序中的每个对话框,我想创建一个单独的UserControl(不是全面的Form),然后将其“托管”在此通用对话框中。为此,我需要以某种方式使该对话框可自行调整,以便根据托管在其中的控件的大小缩小或增大。

我该怎么做?我需要某种布局控制,还是有一些特殊的魔法属性可以做到这一点?

回答

5

windows.form.control有一个boolean autosize属性。如果为true,则允许控件自动自动调整大小以适应其内容

+0

对于Windows.Form也是如此。它还具有AutoSize属性,可以根据内容收缩和增长。 – 2010-11-02 11:43:40

+0

我也会建议在面板上使用正确的锚和表单中的按钮。 – Bernard 2010-11-02 16:12:21

1

您可以遍历Controls集合,并查找每个枚举控件的底部下角,查找最大x和最大y,并设置form(容器)宽度和高度。