C# winForm MDI使用小记
来源:互联网 发布:mysql在线数据库设计 编辑:程序博客网 时间:2024/05/04 07:43
代码没能带回来,博文是在linux平台写的,有些名字没记牢,会有出入,attention
1,首先,父窗口要设置isenablemdi属性。实现MDI结构的父子窗口套用,最重要的是在父窗口实例化自窗口(例frmForm),(名字好像有些错误)
2,关于自窗口在父窗口中的自动排列,C#提供一个父窗口属性定义,(好像是mdiLayout),通过设置这个属性即可实现层叠、横向、纵向排列(大于三个子窗口时自动调整为平均分配的窗口排列)。
3,我当时调的时候只用三个窗口,所以只看到横向或纵向排列的情况,不知道Vertical和H...在大于三个时可以均匀排布(如左边三个,右边三个)。于是就自己写了一个小算法,也实现了功能;花了两三个小时的样子,感觉效果比自动排的漂亮,呵呵,黄婆了
我的实现方法:
a,利用parentForm.width和parentForm.height以及可以确定的其它控件的大小,计算得到mdi窗口大小
b,根据mdi子窗口数量计算平均每个窗口的面积
c,从(0,0)开始逆序从上往下,从左到右处理每个窗口的location,并把size设置为平均面积(最后查看的窗口在最前面)
这当中有几个细节
a,用arraylist 保存打开的mdi自窗口信息,方便管理和配置(如location,size配置,非常方便)
b,对于奇数个的情况,算平均时窗口数+1;给最中间的窗口的size*2,使其横向铺在最下面,面积为平均值的两倍
Ok,就这样了
- C# winForm MDI使用小记
- C#Winform小记
- C#Winform小记
- WinForm CheckedBoxList使用小记
- Winform MDI
- WinForm(C#)中MDI子窗体最大化的问题
- winform MDI应用程序
- winform小记
- C#WinForm控件使用
- 关于MDI的winform开发
- 解决WinForm(C#)中MDI子窗体最大化的问题(VB.net中也适用)
- c#winform DatagridView使用总结
- c#winform使用WebBrowser 大全
- c#winform使用WebBrowser 大全
- C#winform RadioButton使用技巧
- c#winform使用WebBrowser 大全
- C#winform saveFileDialog控件使用
- C#Winform进度条的使用
- SQL操作全集
- 揭秘QTP保留对象机制
- FFMPEG的应用之demux 和decoder的分离
- java抽象类和抽象方法
- ORA-01403:no data found 解决办法
- C# winForm MDI使用小记
- MFC下CSocket编程详解:
- NHibernate 问题:The ProxyFactoryFactory was not configured.
- ajax
- 每个人必须知道的社会生活十二大著名法则
- 传智播客-ejb3(1)-理解应用服务器、分布式应用和ejb服务
- IIS配置的备份和恢复
- 异步加载图片
- 用CSocket创建C/S结构