MDI窗体控制台Form

一.引子: 

在WINFORM的开发中,会时常用到MDI窗体,有时候我们会因为这个MDI没有办法方便容易的设置背景,图标,workflow等等发愁。如果我们直接把控件放到主窗体上,那么你打开了子窗体就会被这些控件遮挡住。也许你可以使用设置这些控件的visible = false等的方法来解决,但总觉得不好。而且,如果你需要一个类型永远在最下面的FORM,而这个FORM可以让你放置任意控件都不会遮挡其他子控件的话,就会很方便了。但随之问题又来了,就是当我们最大化一个子窗体时,或者缩放主窗体时都会影响到这个FORM的外观显示,有的时候它甚至和其他子窗体一样最大化后显示在主窗体标题栏的下方菜单的上方。这里,我要实现的就是这么一个不会出现这种情况的FORM控件,它可以放置其他任意控件和背景来美观我们的程序,也不会因为大小的调整而覆盖掉什么。在此,我暂且叫它“MDI窗体控制台Form”。

二.运行效果如下:

三.简单谈谈实现思路:

简单地说,我们要克服的困难,就是上面所说到的这个BackForm怎么样一出现就刚好适应FrmMain的MdiClient区域,怎么样在调整FrmMain大小的时候让它也随着变化.如何在mdichlidform最大化时,这个BackForm依然不显示在FrmMain的标题栏与菜单栏之间.

为了解决这2个问题,要设置一个没有标题栏的FORM格式(FormBorderStyle.None)的窗体做为BackForm,同时,要在FormMain的Load事件中获得Mdiclient,在onresize方法中对BackForm的Bounds属性进行调整。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值