windows Form 布局

来源:互联网 发布:龙宫体力换算法伤 编辑:程序博客网 时间:2024/05/22 00:07

复杂的应用要求界面布局巧妙应用方便。今天总结一下最近这方面的工作(VS2008)。

 

1,用MDI+实现多文档。

这样可以将多个完全独立的Form集合到一个大的框架里,如VC6,这样做的好处是开发简单方便,不同模块之间不冲突,这对开发来讲实在是很痛快的事情。

实现方法在前面的文章里面介绍了:

  • 主窗口MainForm的isMdiContainner 属性设为true
  • 实例化子Form,并指向主窗口,YourSubFormN yourForm=new YourSubFormN();  yourForm.mdiParent=this;
  • 打开自窗口,yourForm.Show();
  • 自动排列多个Form,MainForm属性可以自动配置为横向或纵向均匀排列(见前面的文章)

 

2,运用panel布局

多个panel混合运用,合理设置author,dock属性,可以将页面分成不同功能区域

可以把panel 放在其它panel上面,进一步划分区域

 

 

3,使用splitContainer实现可以调整的区域划分

.net 中,splitContainer可以实现分区域分,并且具有可调整的能力。这是一个非常方便的控件,使用也极简单。需要注意的是,软件调整左右区域比例是通过spliterDistance这个属性来修改的,而不能直接改写splitContainer.panel1或panel2的width 或者height属性来作。

通过设置splitContainer 的 Oritention属性,可以实现调整为上下方向或者左右方向,我刚开始就是没有搞清楚这个,自己用panel和spliter 写了上下划分区块的功能,但是费了很大劲,还好功能实现良好,而且有一些新的花样。

举例,把Form分成左边、右上和右下三块,

  • 可以先用一个横向的splitContainer将区域分成左右两部分,
  • 在把另一个splitContainer2放到第一个sp..Con..ner的右边即splitContainer.panel2当中,
  • splitContainer2.Dock=DockStyle.Fill, 方向属性设为Vertical, splitContainer2.Oritation=Vertical;

 

原创粉丝点击