怎样在media player控件上面增加一个背景透明的picturebox和label

来源:百度知道 编辑:UC知道 时间:2024/06/16 02:47:56
用c#做了一个winform的用户控件,想在media player控件上面增加一个透明的Picturebox,让它显示代表播放状态的图标,譬如绿色三角形的播放、红色方块的暂停之类的,或者是一个label,显示网站名称,就像土豆和悠酷那样的。
但把BackColor设置为Color.Transparent,Parant也设置成了MediaPlayer控件,虽然背景透明了,但直接透明到了Form上去了,而不是透明到MediaPlayer的播放窗口,问下有没有什么办法能够解决。
恩,根据1楼的回答,我研究了下。
如果按照图层来区分的话,其实WMP的播放画面是在FORM背景色图层的下面,不过相当于无论什么时候,FORM对它都是透明的。因为我把FORM的Transparentkey设置为BLACK,上面放一个背景为BLACK的LABEL,那么直接透到了桌面,但仍然能够看到播放画面…… 但这样的话如果做成控件,那么控件摆放的FORM也必须设置Transparentkey了,所以我还是准备研究GDI,直接在上面画吧

只有窗口才有Transparentkey这个属性

而wmp有是个很特殊的控件 它的背景色永远跟父容器的背景色一样 但是播放时它会在背景之上不停的画各种颜色 你不能每一贞都要去判断Label或PictrueBox下面的颜色吧

所以据个人的了解唯一的办法就是做一个窗口 放到wmp上方 这个窗口背景是透明的 而且会随着主窗口移动位置,改变大小或隐藏

还有一个投机的方法 就是给wmp添加一个父级的Panel 这个panel的背景色为Black 高度比wmp高60像素 然后让wmp垂直居中(哈哈 也就是延长wmp的背景)

把Pictrubox 或label背景设为black 然后放到panel的上方或下方 这样给人的感觉好像在wmp中一样