我有一个usercontrol,我正在动态地添加它作为主窗体的控件。 Mainform基本上是空的,但底部有一个很大的状态栏。
问题是,当我在usercontrol上设置Dockstyle.Fill选项时,加载的usercontrol的大小超出状态栏(它填充整个主窗体,好像状态栏不在那里)。
如何防止此行为?这是我动态加载表单的示例
logicForm = new LogicForm();
this.Controls.Add(logicForm);
logicForm.Dock = DockStyle.Fill;
答案 0 :(得分:0)
我认为您需要将DockStyle设置为None并改为使用Anchor属性。
将锚点设置为“上”,“下”,“左”,“右”并调整控件的大小,以填充状态栏以外的所有空格。
您应该在运行时找到,然后用户控件将使用表单调整大小。
答案 1 :(得分:0)
我刚刚找到解决方案
如果我在主窗体上已有其他控件,我需要将表单放到前面才能正确停靠:
logicForm.BringToFront();
在此处找到:http://dotnetref.blogspot.kr/2008/08/using-dock-fill-on-control-when-you.html
-________________________-