C# 窗体透明度覆盖其他元素

C# 窗体透明度覆盖其他元素,c#,winforms,user-controls,transparency,C#,Winforms,User Controls,Transparency,我有一个透明的Windows窗体,上面有一些自定义用户控件。 这些控件本身具有一定的透明度 问题是这些控件之间有点重叠。重叠部分是透明的,因此不应成为问题。不幸的是,它并没有像它应该的那样工作,而不是透明地显示下面的控件,它切断了控件的这一部分 有人知道这里可能存在什么问题以及如何解决吗 它正在像它应该的那样工作,windows的透明度并不像你希望的那样工作。窗口的背景由父窗口绘制,您将看不到重叠的其他窗口部分。您需要停止重叠或切换到绘制内容,而不是使用控件。@HansPassant您是指按窗口

我有一个透明的Windows窗体,上面有一些自定义用户控件。
这些控件本身具有一定的透明度

问题是这些控件之间有点重叠。重叠部分是透明的,因此不应成为问题。不幸的是,它并没有像它应该的那样工作,而不是透明地显示下面的控件,它切断了控件的这一部分


有人知道这里可能存在什么问题以及如何解决吗

它正在像它应该的那样工作,windows的透明度并不像你希望的那样工作。窗口的背景由父窗口绘制,您将看不到重叠的其他窗口部分。您需要停止重叠或切换到绘制内容,而不是使用控件。@HansPassant您是指按窗口显示的控件/组件吗?因为当你谈论多个窗口时,当它只是一个窗口时,我有点困惑所以让我直说吧。如果我将usercontrol的背景设置为“透明”,usercontrol的背景将被窗体的透明键填充?您的用户控件是一个窗口。其背景由父对象绘制。如果设置窗体的BackgroundImage属性,则在用户控件中也会看到该图像。如果在该窗体上放置一个按钮,并将用户控件置于该按钮之上,则只能看到窗体的背景,而不能看到按钮。