机房管理之MDI窗体
来源:互联网 发布:知乎女神王诺诺是谁 编辑:程序博客网 时间:2024/06/05 17:27
1.在MDI窗体上不能使用控件,需要用一个容器来放控件,比如使用picturebox控件来当做容器,这时真能体会到巨人的力量,这时我查到了另外一种方法。用一个窗体做容器,把这些控件放到窗体上,前提是要把窗体设置为子窗体,把borderstype 设置为none,然后在MDI窗体加载的时候,子窗体也同时加载。
借鸡下蛋—MDI窗体显示无对齐属性控件
来自 http://blog.csdn.net/tang_huan_11/article/details/7976518
2.MDI窗体与子窗体的显示问题–(如何让主窗体是被控件挡住的子窗体显示)
来自 http://blog.csdn.net/yudandan10/article/details/8046738
☆一个我认为很好的解决办法:
在主窗体中使用点击事件,前提是:用窗体来做MDI的容器。如果是pictureBox,那就可以不用看我下面的解释了。用一个窗体来当主窗体,当其变成活动窗体时,会让打开的子窗体最小化,这样就解决了字窗体被主窗体挡住的问题了。
思想如下:
(1)第一步,在模块中声明标志变量为布尔类型,大小为子窗体的数量
(2)第二步,在对应子窗体相互响应,同时,当窗体被关闭时,需要让该标志为假。添加如下代码:
Private Sub Form_Load()
frmFlag(1) = True ‘判断窗体是否显示,与主窗体中相互响应
End Sub
Private Sub Form_Unload(Cancel As Integer)
frmFlag(1) = False ‘当窗体被关闭时,会将此标志重新赋值
End Sub
PS:VB窗体启动、关闭时涉及的主要事件,相信你看完之后,会想到其它不同的解决办法。来自 http://blog.csdn.net/cyl_happygirl/article/details/13168021
(3)第三步,主窗体中添加代码;可以换成其他的事件,比如 click等都可以,下面只做一个窗体的展示。
‘当点击主窗体时,如果子窗体正在显示,那么就让它最小化
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next ‘这一行语句是为了保证不会有错误出现,也可以去掉。
If frmFlag(1) Then
basicData.WindowState = 1
End If
End Sub
最后,就可以尝试一下,看看效果如何。觉得效果不错的留下赞在走呗!有其它更好的方法,一定要留下。
- 机房管理之MDI窗体
- 机房收费系统之MDI窗体
- 数据库—机房收费系统之MDI窗体与子窗体
- 机房管理系统之主窗体
- 机房收费系统——MDI窗体
- 机房收费系统(四)MDI窗体
- 【机房收费系统】——MDI窗体
- 机房收费系统之MDI窗体不显示问题——SetParent函数
- 机房收费系统之【只允许一个MDI窗体 错误:426】
- 机房收费系统-MDI窗体与子窗体的问题
- 机房收费系统—MDI窗体与子窗体
- 机房之登陆窗体
- 机房之登录窗体
- 机房之上机窗体
- 机房之下机窗体
- 机房收费系统-- MDI子窗体显示技巧
- 机房重构---MDI窗体+单例模式
- 【机房收费系统】MDI菜单显示子窗体
- 2017"百度之星"程序设计大赛
- JavaScript运算符与表达式
- CodeForces
- vue项目引用bootstrap资源打包发生错误,loaders没有配置font字体文件
- 进程管理supervisor
- 机房管理之MDI窗体
- servlet+jsp 开发项目所用的jar包
- D.5两段函数求值
- Java多线程编程核心技术
- 流
- bootstrap系列之六按钮
- HDU3613 Best Reward —— 扩展KMP
- 完全二叉树和满二叉树区别
- Android 版本和API Level对应关系