机房收费系统之子窗体显示

   一、 问题描述:    当向机房收费系统中添加了MDI窗体之后。设置其他的一些窗体做为父窗体的子窗体。(把窗体的MDIchild属性设置为true)。之后开始向主窗体添加图片啦。添加完毕后打算在主窗体上添加各种控件。就开始报错啦。如下图。

                                                                

无法在窗体上添加command和textbox等无对齐属性的控件。之后用picturebox控件作为一个容器控件,让图片添加到picturebox控件上面。其他的控件就可以添加在picturebox控件上啦。紧接着问题又来了,运行通过代码  子窗体.show 。 却看不到子窗体显示出来。(其实并不是子窗体无法显示。而是子窗体和picturebox控件在这个条件下属于同一级别的。显示的子窗体被picturebox控件挡住啦。因此看不见)

  二、解决方法:方法一:“借鸡下蛋”

                        既然MDI窗体上不能添加无对齐属性的控件。我们可以通过借助一个普通的窗体作为容器,把这些控件放置在这个普通窗体上。       ① 向工程中添加一个普通窗体,并将其MDIchild属性设置为True,把borderstyle属性设置为none(无边控)

                       ②让主窗体加载的时候子窗体也跟着加载。子窗体的大小等于父窗体的大小。(如下图)


     

        这样就可以在窗体中加载任何控件啦,同时避免了子窗体无法显示的问题。

        方法二:“换父亲”   通过一个API函数:SetParent函数。该函数功能是改变某个子窗体的父窗体。

          ① 首先在模块中添加一个声明

          Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

         ② 参数 hWndChild:子窗口句柄。hWndNewParent:新的父窗口句柄。如果该参数是NULL,则桌面窗口就成为新的父窗口。

             返回值:如果函数成功,返回值为子窗口的原父窗口的句柄:如果函数失败,返回值为Null

            具体代码如下

<span style="font-size:18px;">PrivateSub RechargeMenu_Click()
SetParentfrmRecharge.hwnd,frmMain.hwnd
frmRecharge.Show

End Sub
</span>
         这样就能让子窗体显示啦。

     方法比较:方法一 优点:  一劳永逸,设置成功之后,以后每次显示子窗体的时候就不用设置啦。

                                   缺点::个人感觉这种方法有点旁门左道

                       方法二 优点:通过一个API函数:GetParent函数,实现这些功能。API函数更符合大家的习惯。

                                   缺点:每次子窗体显示的时候都需要输入重复的代码。有些繁琐。           



       

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值