在这里,我们设置label的backcolor为transparent,开始,由于label的parent为form,所以label相对于form是透明的,但是对于他下面的picturebox就不是透明的了。如图
说明,transparent是对于他的父窗口透明。
所以我们为了让他在picturebox里透明,就需要把它的parent设成picturebox,有如下代码、
但是运行后我们发现没有label了。如图
这是为什么呢?原因是,当其被设置为picturebox的子控件时,他的所有属性只有parent一个改变了,其他都都还是原样,text还是label1,color还是transparent,name还是label1,。重要的是,他的Top,和Left也都是原来的,例如这里他的left是183,top是216,但是这里的top和left是相对的,本来他是在窗体左上角的下方216,右方138.
但parent改为picturebox后,他跑到了picturebox左上角的下方216,右方138.,如图
所以他就跑跑到外面1处去了你就看不到了,为了解决,可以使用下面的函数。
调用之即可。效果如图