在用VB.net对机房收费系统进行重构时遇到了些小问题,下面对一些问题进行总结。
一、MDI子窗体显示到Panel、PictureBox等控件前
正常情况下Mdi子窗体只能显示到父窗体的容器中,但是在设计时父窗体往往不能加入基本的交互控件,为了能够加入按钮、文本框等的基本控件我们常常在父窗体的容器内加入能作为容器的控件如Panel、PictureBox等的容器控件,于是在父窗体内方基本控件的难题解决了。
摆放控件的问题解决了但是又出现了新问题,父窗体中的控件和窗体的显示顺序颠倒了,显示的子窗体被Panel等的容器控件挡住了,导致子窗体不能显示问题。经过跋山涉水,终于找到了几个解决办法。
1、使用Controls属性将子窗体作为控件子集合显示到Panel等前
有些控件可以作为容器使用如类似Panel、PictureBox等的控件,在向容器控件中加入其它控件时,这些子控件组合到一起成为一个控件集合,在这个控件集合中每个控件都有各自显示的顺序。下面我们那Panel来举例(其它容器控件的方法相同)。
为了显示到Panel前我们可以使用Controls属性,将子窗体作为Panel的子控件显示。具体实现代码如下&