日期:2014-05-17  浏览次数:21057 次

嵌入Panel的窗体如何居中?
我在程序的主界面的左端用了下拉式菜单选项,主界面的右端是一个Panel,当在左端点击了一个选项后,就把相关子窗体嵌入在这个Panel中显示出来,这些我已实现了。代码大致如下所示:

......
Type typeForm = Type.GetType("Weighing." + frmName);    //需使用当前窗体的命名空间(frmName:点击的子窗体名称)
Form subForm = Activator.CreateInstance(typeForm) as Form;
//subForm.FormBorderStyle = FormBorderStyle.None;
subForm.TopLevel = false;
subForm.Dock = DockStyle.Fill;
subForm.WindowState = FormWindowState.Maximized;
this.panel1.Controls.Add(subForm);
......

但子窗体总是显示在panel1的左侧,我希望显示在panel的中部(居中),应该如何实现?谢谢!

------解决方案--------------------
你已经设置了
subForm.Dock = DockStyle.Fill;
subForm.WindowState = FormWindowState.Maximized;
子窗体不是最大化并且充满panel的么?
把panel设置一个背景色,看看是子窗体的问题还是panel本身的问题
------解决方案--------------------
实在不应该,按照一楼的设置下panel的背景色或显示panel的边框看下是panel问题还是form问题,感觉panel的问题可能性最大
------解决方案--------------------
subForm.Dock = DockStyle.Fill;
不要设置dock会填充全部界面