透明面板位于另一个普通面板的顶部

Pri*_*his 1 c# winforms

我想在另一个面板的顶部显示一个透明面板,两个面板都有子控件,如标签,文本框等.如果透明面板是另一个面板的子控件,透明度工作正常,但如果没有,那么标签和文本框普通面板显示在透明面板的顶部.该地区其他地区的透明度很好.

有任何想法吗 ???

我试过将透明面板放到前面但没有帮助.也许我需要指定控件的绘制顺序?如果是,我该怎么做?

有趣的是,如果我将应用程序移动到任务栏下方并将其启动.它取得了正确的结果.(重印解决问题!!但为什么??).但是,当我最小化它并恢复它不解决它!

谢谢,

Pau*_*der 5

Windows.Forms中的透明度由关系层次结构而不是可视层次结构实现.当绘制透明控件时,.NET基本上调用父树,要求每个父控件自己绘制,然后绘制实际控件内容本身.

同一控件中的两个兄弟姐妹会相互涂抹.

因此,要回答这个问题,最顶层的面板/控件需要是您想要绘制的控件的子代.