如何防止用户控件填充选项扩展得太远

Posted

技术标签:

【中文标题】如何防止用户控件填充选项扩展得太远【英文标题】:How to prevent usercontrol fill option from extending too far 【发布时间】:2012-09-18 07:32:09 【问题描述】:

我有一个用户控件,我正在动态添加它作为主窗体的控件。 Mainform 基本上是空的,除了底部有一个大的状态栏。

问题是,当我在我的用户控件上设置 Dockstyle.Fill 选项时,加载的用户控件的大小超出了状态栏(它填充了整个主窗体,就好像状态栏不存在一样)。

如何防止这种行为?这是我如何动态加载表单的示例

        logicForm = new LogicForm();
        this.Controls.Add(logicForm);
        logicForm.Dock = DockStyle.Fill;

【问题讨论】:

您能分享一下您页面的.aspx 代码吗? ??这是 winforms,不是 asp.net。 对不起。从来没有看到任何关于winforms的参考;除了对 Docksyle 的引用。 好的。我想我需要删除无用的 cmets 以节省空间。 :// 【参考方案1】:

我认为您需要将 DockStyle 设置为 None 并改用 Anchor 属性。

将锚点设置为上、下、左、右,并调整控件的大小以填充状态栏的所有空间。

您应该会发现,当您运行时,用户控件将随表单一起调整大小。

【讨论】:

【参考方案2】:

我刚刚找到了解决办法

如果我在主窗体上已经有一些其他控件,我需要将窗体放在前面以便正确停靠它:

logicForm.BringToFront();

在这里找到:http://dotnetref.blogspot.kr/2008/08/using-dock-fill-on-control-when-you.html

-________________________-

【讨论】:

以上是关于如何防止用户控件填充选项扩展得太远的主要内容,如果未能解决你的问题,请参考以下文章

基于单选按钮选择的访问选项卡控件

如何防止在 createuserwizard 控件中更改用户名字段。网

在同一页面中的另一个用户控件引发的事件上填充用户控件

如何确定控件何时对用户可见?

如何防止超链接链接

在用户控件中填充 ComboBox